gpt4 book ai didi

python - Python中字符串的变量名

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:16 25 4
gpt4 key购买 nike

我已经用 Python 编写了一些代码,我想将一些变量保存到具有变量名称的文件中。

以下代码:

variableName1 = 3.14
variableName2 = 1.09
save_variable_to_file(variableName1) # function to be defined
save_variable_to_file(variableName1)

应创建 2 个文件,一个名为 variableName1.txt,另一个名为 variableName2.txt,每个文件应包含调用函数时相应变量的值。

这个变量名在代码中应该是唯一的。

谢谢!

最佳答案

可以找到变量的名称,被调用函数可以使用以下方法获取其调用者的变量:

import sys

def save_variable_to_file(var):

names = sys._getframe(1).f_globals
names.update(sys._getframe(1).f_locals)
for key in names.keys():
if names[key] == var:
break

if key:
open(key+".txt","w").write(str(var))
else:
print(key,"not found")

thing = 42
save_variable_to_file(thing)

但这可能是一个非常糟糕的主意。请注意,我已将该值转换为字符串,您希望如何保存字典和列表?您稍后将如何重建变量?

import glob

for fname in glob.iglob("*.txt"):
vname = fname.rstrip(".txt")
value = open(fname).read()
exec(vname + "=" + value)

print(locals())

使用 exec 之类的东西可能存在安全风险,最好使用 pickle、JSON 或 YAML 之类的东西。

关于python - Python中字符串的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12687965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com