转义字符串中的括号 python fstrings
Escaping brackets in strings python fstrings
我正在尝试替换以下字符串中名为 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} 插入到字符串中。
有什么想法吗?
尝试将语句分解为更简单的部分。它看起来更干净,这将是使用 f-strings 的重点。
否则,如果需要对f字符串中的“{”进行转义,可以使用“{{”。
例如
s = "{{{0}" # is "{0"
s = "{0}}}" # is "0}"
我正在尝试替换以下字符串中名为 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} 插入到字符串中。
有什么想法吗?
尝试将语句分解为更简单的部分。它看起来更干净,这将是使用 f-strings 的重点。
否则,如果需要对f字符串中的“{”进行转义,可以使用“{{”。 例如
s = "{{{0}" # is "{0"
s = "{0}}}" # is "0}"