首页 > 解决方案 > Python无缘无故添加char“\”

问题描述

我有代码,我在其中添加一个数字,然后为请求创建 URL

opa_number = '31108100'    
def get_data(opa_number):
        print(opa_number)
        url = "https://phl.carto.com/api/v2/sql?q=SELECT * FROM opa_properties_public WHERE parcel_number = " \
              + "'" + self.opa_number + "'"

请看图片

当我在控制台中逐行运行此代码时,它可以正常工作

当我在调试器中运行此代码时,它给了我 'https://phl.carto.com/api/v2/sql?q=SELECT * FROM opa_properties_public WHERE parcel_number = \'888020936\'' 并在 opa_number 周围添加“”我的问题是为什么 Python 要添加这个符号并阻止它这样做

标签: pythonstring

解决方案


这是试图将字符串显示为合法的 Python 字符串文字的结果。调试器显然重新实现了字符串显示,并选择无条件地在它显示的字符串周围使用单引号(它似乎不直接依赖str's repr,如果只是动态选择外部引号与内部引号相反一个在内部使用;这就是您在交互式解释器中回显这样的字符串时所看到的)。

因为它使用外部单引号,所以它必须用反斜杠转义内部单引号才能生成合法的字符串文字。反斜杠实际上并不存在,您的代码按预期运行。


推荐阅读