目前位置: 首页 » python »正文

python运行报错can only concatenate str (not "int") to str

要解决这个问题,首先你要明白这句话的意思,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')

可以看到下面的错误提示

image

这段代码中有两个数据是我读取的api接口返回的数据,一个是i[‘keyword’],一个是i[‘rank’]

也就是关键词,和排名。看到报错,一下子我就想到肯定r[‘rank’]这个返回的是一个整型数据,不能直接与其他字符串进行连接。

于是修改i[‘rank’]为str(i[‘rank’])

完美解决问题啦!

推荐阅读