问题描述
我正在尝试替换一个变量
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'
之类的错误
有什么解决办法吗?
解决方法
尝试将语句分解为更简单的组件。它看起来更干净,这就是使用 f-strings 的重点。
否则,如果您需要在 f-string 中转义“{”,则可以使用“{{”。 例如。
s = "{{{0}" # is "{0"
s = "{0}}}" # is "0}"