要解决这个问题,首先你要明白这句话的意思,can only concatenate str (not “int”) to str 意思是只能对字符串进行连接。concatenate的意思是连接,如果遇到不认识的英语单词,可以百度搜索一下。
换而言之,你连接的内容中除了字符串以外还有int(整型)或者其他类型的数据。
我今天在调试一个项目的时候,就遇到了这个问题,明白报错的意思后,很快就解决了问题。
报错的代码:
if r['data']['total']>200: filename=content+'rank100-keyword'+'.txt' with open(filename,'w',encoding='utf-8') as f: for i in r['data']['baidupc']: f.write(i['keyword']+'--PC端排名第'+i['rank']+'位'+'\r')
可以看到下面的错误提示
这段代码中有两个数据是我读取的api接口返回的数据,一个是i[‘keyword’],一个是i[‘rank’]
也就是关键词,和排名。看到报错,一下子我就想到肯定r[‘rank’]这个返回的是一个整型数据,不能直接与其他字符串进行连接。
于是修改i[‘rank’]为str(i[‘rank’])
完美解决问题啦!
标签: