python - 如何在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
解决方案
您可以参考此答案以从变量中获取变量名称。我已经修改了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()
推荐阅读
- spring - Spring找不到xml配置文件
- mysql - MySQL - 如何编写存储过程以将数据从其他两个表中插入到表中
- bash - 在bash中将非唯一数据添加到唯一数据的最有效方法
- c# - C# DateTime.TryParse 让我很困惑
- java - 使用 acrobat 表单更新 PDF
- c# - 如何用c#中的变量值替换字符串?
- angular - TypeScript(Angular http 客户端,get)如何工作?(在没有身体的情况下重新调整某些东西)
- android - 我需要帮助 TT firebase 使用错误
- django - 除了在 django 中使用 forloop 之外,查询和连接多个查询集的更好方法是什么?
- pdf - 在 netsuite 高级 pdf 模板中,无论如何都可以限制字符串中的字符