字符串中的转义括号python fstring

2024-05-20 02:32:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在下面的字符串中替换一个名为id的变量

query = '''SELECT ?item ?itemLabel WHERE {?item wdt:P279* wd:Q7930989. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }}'''

我想做点像

id = "wd:Q7930989"    
query = f'''SELECT ?item ?itemLabel WHERE {?item wdt:P279* {id}. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }}'''

当我试图运行上面的代码时,我遇到了类似KeyError: '?item wdt’的错误 我认为这可能是由于字符串中已有括号。理想情况下,我希望找到一种方法来转义这些括号,以便可以在字符串中插入{id}

有什么想法吗


Tags: 字符串idserviceitemwherequeryselectlabel
1条回答
网友
1楼 · 发布于 2024-05-20 02:32:12

尝试将语句分解为更简单的组件。它看起来更干净,这就是使用f字符串的意义所在

否则,如果需要在f字符串中转义“{”,可以使用“{”。 例如

s = "{{{0}" # is "{0"
s = "{0}}}" # is "0}"

相关问题 更多 >