我有一个Python代码,可以生成具有不同类型和长度的多个变量。我想把所有的东西都写成txt。在
我想保存的所有变量都在一个名为dicvariable
的dic
变量中。
更确切地说,我试图保存的变量是:
dicvariable[0]['VarA'] # variable type int
dicvariable[0]['VarB'] # variable type str
dicvariable[0]['VarC'] # variable type bool
dicvariable[0]['VarD'] # variable type NoneType
dicvariable[0]['VarE'] # variable type list (size can be anything)
dicvariable[0]['VarF'] # variable type dict (itself contains 5 more variables type ndarray)
我要做的第一件事是从dicvariable:
中逐个提取变量
现在我想打开一个txt文件,把所有这些变量都保存在那里,最好是在以后我可以很容易地在matlab等其他程序中加载txt。
另外,原始的dic变量有nobs
个条目(即dicvariable[0], dicvariable[1], (...), divariable(nobs)
),所以我想重复这个过程并保存nobs
txt文件。在
编辑:
以下是我尝试的结果,结果出现了一个错误:
f = open('file.txt', 'w')
f.write(VarA + '\n' )
f.write(VarB + '\n' )
f.write(VarC + '\n' )
f.write(VarD + '\n' )
f.write(VarE + '\n' )
f.write(VarF1 + '\n' )
f.write(VarF2 + '\n' )
f.write(VarF3 + '\n' )
f.write(VarF4 + '\n' )
f.write(VarF5 + '\n' )
f.close()
尝试搁置模块:https://docs.python.org/2/library/shelve.html
这将把所有变量保存到一个二进制文件的字典中,IIRC。它对于保存程序的设置很有用。在
下面是一个简单的介绍:https://automatetheboringstuff.com/chapter8/转到“使用shelve模块保存变量”部分
问题是这些变量不是文本数据。在将它们写入文本文件之前,需要将它们转换为文本。通常的方法是使用
str(myvar)
。所以你可以做f.write(str(VarF1) + '\n' )
。你可以这样循环:这可以通过使用生成器来简化:
^{pr2}$相关问题 更多 >
编程相关推荐