【Python】字符串和变量拼接的写法

我的需求是改变url地址的后缀,其他不改,所以直接for循环,变换数字就行
也就是 字符串+变量+字符串
想着改变后缀就能批量爬图。但是原本的想法是错误的

for num in range(2,8):
    url="http://www.win4000.com/wallpaper_detail_160877_"+num+".html"
    print(url)

在这里插入图片描述
不能像php(.)和java(+)这样的方法进行拼接

1、输出

最后在一次次试验下终于知道原来python的拼接类似于c语言
需要在前面加上%s等,预先规定格式

for num in range(2,9):
    url="http://www.win4000.com/wallpaper_detail_160877_"
    html=".html"
    print ('%s%d%s'  %(url,num,html))

在这里插入图片描述
这样就能完美获取不同后缀的网页,从而获取相应图片

2、串接成变量

如果要使一个变量里有字符串和数字的拼接,可以这样

 url="http://www.win4000.com/wallpaper_detail_160877_%d"%(num)
 html=".html"
 text=url+html

和c一样,在字符串后面加上%和(num)即可,前面的格式和c是一样的,后面多了个%和()
记住千万别和java搞混了,写成

url=url+num+html

这样就可以把text放到封装好的url里爬图了

后面还有一种更加简便的方法,直接num后加上str和括号就行,简单方便

for num in range(2,10):
    url="http://www.win4000.com/wallpaper_detail_160877_%d_"+str(num)+".html"
    print(url)

发布了171 篇原创文章 · 获赞 29 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43560272/article/details/100801456
今日推荐