如何解决字符串拼接时的TypeError: can only concatenate str (not "int") to str错误
解决TypeError: can only concatenate str (not "int") to str错误
你的修改方式有问题——把str(data)放在引号里,相当于直接拼接了字符串"str(data)",根本没把data变量转成字符串类型,所以错误依旧。
正确的修改方式
直接把需要转字符串的变量用str()包裹,放在引号外:
new_url = sync_url + '/' + uri + '/' + str(data)
排查哪个变量是整数
报错说明拼接的三个变量(sync_url、uri、data)里至少有一个是整数类型,不一定是data。可以先打印每个变量的类型确认:
print(type(sync_url), type(uri), type(data))
找到类型为<class 'int'>的变量,用str()转换它即可。
更简洁的写法
用Python的f-string可以自动处理类型转换,避免拼接错误:
new_url = f"{sync_url}/{uri}/{data}"
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

