1

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

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

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

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

food = [banana, beans]

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

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

第一个是香蕉列表,第二个是我的食物列表中的豆类

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

inFile.readline()

但是,这似乎不会产生正确的结果。因此,我的问题是如何从文件中读取列表并将它们完全放回我的食物列表中,就像我关闭程序之前一样。感谢您的任何帮助!

4

1 回答 1

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']]
于 2013-06-11T04:20:39.647 回答