您好我的问题是,我需要找到一种方法将变量导出为文本文件(或其他文件类型),然后将变量导入python,以便我可以稍后在程序中使用它们。例如
i = 0
while I != 10:
i = i + 1
Var1 = input("What is your name")
Var2 = ("What is your surname")
with open('filename', 'w') as file_out:
file_out.write(var1 + "/n")
file_out.write(var2 + "/n")
file_out.write("/n")
现在,如果我运行此代码,它可能(可能已经搞砸了它在这里; P),它会将variable1保存到第一行,变量2保存到第二行,然后在新生成的文本文件中留下一行,但现在我需要在python中重新打开文本文件,然后使用第一个变量结果(例如,如果有人输入' john',我需要程序知道谁是john以及他的姓氏是什么)同样地,当它重复该程序然后在其他人的下面写下johns名称时(例如' ethan'),该程序将以相同的格式写入ethan以及他的姓氏。
因此我要问的是,无论如何还是将它们作为变量而不是字符串导出,因为如果是这样我就可以打开文本文件并告诉我的程序使用变量。有人可以告诉我,如果我的建议至少是可能的,如果他们可以这样做。
答案 0 :(得分:1)
看起来您想要查看pickle module
使用此方法时,使用字典存储多个变量。对于动态创建的不确定数字变量,它是一个有用的容器。
import pickle
myvardict = {}
i = 0
while i != 10
i =+ 1
Var1 = input("What is your name")
Var2 = input("What is your surname")
myvardict[i] = [Var1, Var2]
pickle.dump(myvardict,"myoutfile.pic")
然后加载你只需要调用适当的方法
import pickle
myvardict = pickle.load("myoutfile.pic")
答案 1 :(得分:0)
您可以将数据存储为JSON,而不是腌制对象(如果您要将数据结构导出到其他语言,则会非常有用)。
import json
data = dict(i=1,j=12,hello=world)
with open('data.json','w') as json_file:
json.dump(data)
然后你可以使用:
加载它 import json
data = None
with open('data.json') as json_file:
data = json.load(json_file)