0

我的 python 脚本有以下问题:有很多计算,我想将一些最终结果写入文本文件。

这是我迄今为止尝试过的:

a1=3
a2=5
a3=10
a4=15

setupfile = open("setupfile.txt","w")
x = [a1,a2,a4]
for name in x:
    setupfile.write("name" + "=" + repr(name) +"\n")
setupfile.close()

电流输出:

name=3
name=5
name=15

预期输出:

a1=3
a2=5
a4=15
4

2 回答 2

1

您可以参考此答案以从变量中获取变量名称。我已经修改了namestr那里的函数以获取包含字母的变量名称a。这是因为其中的names变量包含诸如['a1', 'name', '_96', '_97', '_134']

此外,最好with在打开文件时使用,因为它会在工作完成后关闭。

a1,a2,a3,a4 = 3,5,10,15

def namestr(obj, namespace):
    names = [name for name in namespace if namespace[name] is obj]
    name = [n for n in names if 'a' in n]
    return name[0]

with open("setupfile.txt","w") as setupfile:
    x = [a1,a2,a4]
    for name in x:
        setupfile.write(namestr(name, globals()) + "=" + repr(name) +"\n")
    setupfile.close()
于 2020-07-10T09:38:59.890 回答
0

我想出了一个不同的解决方案,它允许我拥有具有相同值的不同变量。如果有人正在寻找相同的答案,您会在这里找到它:create txt file contains variablenames as string plus value

于 2020-07-23T18:36:57.683 回答