在 Python 中获取字符串内的变量名称

Getting variable name inside a string in Python

提问人:David Jackson 提问时间:11/16/2023 更新时间:11/17/2023 访问量:35

问:

我有一个变量 db,它是从环境文件中读取的。我正在尝试在游标执行语句中使用它,如下所示。

config={}
with open('environment.yml','r') as f:
    config = yaml.safe_load(f)
db = config['database_name']


result = cur.execute("TRUNCATE TABLE {db}.my_table")
result = cur.executemany('INSERT INTO {db}.my_table\
                             (id, description,code)\
                             VALUES (?, ?, ?)',
                             list(tuple(row) for row in co.values))

我尝试使用但是不确定这是否是在字符串中包含变量的正确方法。

queryString = f'''TRUNCATE TABLE {env_db}.smartselect_qc_ordercodes'''
result = cur.execute("TRUNCATE TABLE {db}.my_table")
result = cur.executemany('INSERT INTO {db}.my_table\
                             (id, description,code)\
                             VALUES (?, ?, ?)',
                             list(tuple(row) for row in co.values))
python 字符串 变量 游标

评论

1赞 Barmar 11/17/2023
使用 f 字符串:f"TRUNCATE TABLE {db}.my_table"
2赞 Barmar 11/17/2023
您可以在连接到数据库时指定默认数据库名称,因此您不需要将其替换为每个查询。

答:

0赞 David Jackson 11/17/2023 #1
st = "TRUNCATE TABLE {db}.my_table".format(db=db)

评论

0赞 Diego Borba 11/17/2023
正如目前所写的那样,你的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何写出好答案的更多信息。