将列表列表写入文件,然后将其作为列表列表从文件中检索

时间:2013-06-11 04:18:24

标签: python list readfile

我为这个令人困惑的标题道歉,我自己很困惑。

现在我正在开发一个程序,我创建一个列表,其元素是列表。然后我将每个元素写入文件。

一个例子是我创建列表 food ,其元素是特定食品项目,这些食品项目是包含项目本身信息的列表。

现在我的程序会将食物的每个元素写入文件,例如,如果我有

food = [banana, beans]

我在food.txt中的输出将显示为

['Banana' , .54 , 'No' , 'Food']
['Beans' , 1.39, 'Yes', 'Food']

第一个是列表 banana ,第二个是列表 beans 中的列表 beans

我想要的是当我再次运行程序以便在我做其他任何事情之前将这些列表替换为 food 。我知道我可以通过

从文件创建一个列表
inFile.readline()

但是,这似乎没有产生正确的结果。因此,我的问题是如何从文件中读取列表并将它们放回我的 food 列表中,就像我关闭程序之前一样。谢谢你的帮助!

1 个答案:

答案 0 :(得分:4)

>>> import pickle
>>> banana, beans = ['Banana' , .54 , 'No' , 'Food'], ['Beans' , 1.39, 'Yes', 'Food']
>>> food = [banana, beans]
>>> with open('data', 'wb') as f:
        pickle.dump(food, f)


>>> with open('data', 'rb') as f:
        print pickle.load(f)


[['Banana', 0.54, 'No', 'Food'], ['Beans', 1.39, 'Yes', 'Food']]