首页 > 解决方案 > TypeError: can only concatenate str (not "int") to str, Firebase 数据库问题

问题描述

我是编码新手,我正在创建一个使用 firebase 注册用户数据的应用程序。我正在尝试更新创建后用户的朋友 ID 号,但出现此错误,有人可以帮我解决这个问题吗?

Python代码

friend_patch_data = '{"next_friend_id": %s}' % str(my_friend_id+1)

friend_patch_req = requests.patch("https://the-notebook-196cb.firebaseio.com/.json?auth=" + idToken,
                         data=friend_patch_data)

我上传的数据:

my_data = '{"Avatar": "bruh.png", "Friends": "", "Notebooks": "", "my_friend_id": %s}'% my_friend_id

我得到的错误,

TypeError:只能将str(不是“int”)连接到str

标签: pythonfirebasetypeerror

解决方案


当你分配时my_data,你说my_friend_id的是一个字符串,它似乎不是。

%d在格式字符串中使用:

my_data = '{"Avatar": "bruh.png", "Friends": "", "Notebooks": "", "my_friend_id": %d}' % my_friend_id

或使用str.format()

my_data = '{{"Avatar": "bruh.png", "Friends": "", "Notebooks": "", "my_friend_id": {0}}}'.format(my_friend_id)

如果您使用的是 Python 3,则可以使用 f-strings:

my_data = f'{{"Avatar": "bruh.png", "Friends": "", "Notebooks": "", "my_friend_id": {my_friend_id}}}'

推荐阅读