您可以将变量导出到文本文件,因为变量不是字符串

时间:2015-09-14 18:38:57

标签: python export

您好我的问题是,我需要找到一种方法将变量导出为文本文件(或其他文件类型),然后将变量导入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以及他的姓氏。

因此我要问的是,无论如何还是将它们作为变量而不是字符串导出,因为如果是这样我就可以打开文本文件并告诉我的程序使用变量。有人可以告诉我,如果我的建议至少是可能的,如果他们可以这样做。

2 个答案:

答案 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)