首页 > 解决方案 > 如何在txt中写入参数名称和值列表?

问题描述

我的 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

标签: pythonlisttextparameterswrite

解决方案


您可以参考此答案以从变量中获取变量名称。我已经修改了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()

推荐阅读