python - 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 要添加这个符号并阻止它这样做
解决方案
这是试图将字符串显示为合法的 Python 字符串文字的结果。调试器显然重新实现了字符串显示,并选择无条件地在它显示的字符串周围使用单引号(它似乎不直接依赖str
's repr
,如果只是动态选择外部引号与内部引号相反一个在内部使用;这就是您在交互式解释器中回显这样的字符串时所看到的)。
因为它使用外部单引号,所以它必须用反斜杠转义内部单引号才能生成合法的字符串文字。反斜杠实际上并不存在,您的代码按预期运行。
推荐阅读
- javascript - 如何在Javascript中重新排列嵌套的promise
- r - 合并两个表对象以便在 r 中创建一个新的数据框
- firmware - 如何使用串行模式闪烁 variscite dart imx6ul evk 板
- c# - 如何将焦点设置到 DataGridView 中的最后一行?
- java - 如何防止 Timer 在后台运行?
- python - 在 collectstatic 命令后我得到了 django.core.exceptions.SuspiciousFileOperation
- javascript - 返回本地存储图像的 URL [Node JS API]
- c++ - 如何在 C++ 中获取网络驱动器上的可用空间?
- sparql - 你能帮我连接 sparql 吗?
- google-cloud-platform - 如何在较新的 Google Cloud Function 运行时中获取 project_id