2024-04-26 00:12:00 发布
网友
就像打开包含列表的.py文件后一样,我应该能够看到附加和/或插入的项目。所以基本上我的名单的最后一份原件被修改了。我该怎么做
我有一个list.py文件中的列表。 列出事情=[约翰、阿尔伯特、马丁、苏西]
我有一个main.py文件,在GUI中运行后,我将从中更改列表内容。这只是暂时的。如果我停止并重新运行该文件,它将再次显示旧的列表内容(列表内容),而不是更新的列表
但是当我再次运行它时,我希望更新的列表显示在GUI中
当解释器关闭时,Python模块不会保存添加到对象中的数据。每次python运行时都会重新初始化所有内容。通常,保存旧数据对程序来说是灾难性的
但是你可以自己做。最简单的方法之一是使用pickle模块将对象保存到可以稍后读取的文件中。您必须担心如何保存和,因此人们通常会为您编写帮助程序,如下例所示
pickle
但仍然存在一个问题。如果此程序的两个副本同时运行,其中一个将覆盖另一个的数据。然后,您需要更复杂的东西,甚至可能需要像sqlite这样的数据库
import pickle _list_things = None _list_things_file = "./list_things.pkl" def get_list_things(): global _list_things try: _list_things = pickle.load(open(list_things_file, 'rb')) except OSError: _list_things = [] return _list_things def save_list_things(): global _list_things assert _list_things is not None, "tried save before get" pickle.dump(open(_list_things_file, 'wb'))
当解释器关闭时,Python模块不会保存添加到对象中的数据。每次python运行时都会重新初始化所有内容。通常,保存旧数据对程序来说是灾难性的
但是你可以自己做。最简单的方法之一是使用
pickle
模块将对象保存到可以稍后读取的文件中。您必须担心如何保存和,因此人们通常会为您编写帮助程序,如下例所示但仍然存在一个问题。如果此程序的两个副本同时运行,其中一个将覆盖另一个的数据。然后,您需要更复杂的东西,甚至可能需要像sqlite这样的数据库
相关问题 更多 >
编程相关推荐