对于那些知道的人来说很简单的问题,对我来说很难,因为我认为这实际上是不可能的。
制作一个简单的python程序后,就可以在电脑的命令提示符下运行了。
我想知道或者是否可以允许以这种方式运行它的人将一个元素添加到列表 (list.insert) 并在下次运行程序时让它仍然存在?(因此编辑预定义列表到新列表并以这种方式保存)
编辑:只是提供更多信息:
程序所要做的就是让您选择一个列表。它从这个列表中返回一个随机项目。 我只是希望允许在运行程序时将项目添加到此列表,然后保持列表更新。
最佳答案
最基本的方法是使用 Pickle 模块将数据保存和加载到磁盘:
http://docs.python.org/2/library/pickle.html
http://docs.python.org/2/library/pickle.html#example
下面是我将如何在一个简单的程序中使用它
try:
import cPickle as pickle
except ImportError:
import pickle
class MyClass(object):
def __init__(self, file_name):
self.array = []
self.file_name = file_name
self.load_data()
def add_element(self, element):
self.array.append(element)
self.save_data()
def load_data(self):
try:
with open(self.file_name, "r") as f:
self.array = pickle.load(f)
except IOError:
pass
def save_data(self):
with open(self.file_name, "w") as f:
pickle.dump(self.array, f)
def main():
FILE_NAME = "test.pkl"
a = MyClass(FILE_NAME)
print "elements in array are", a.array
for i in range(5):
a.add_element(i)
if __name__ == "__main__":
main()
关于python在运行时更改源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067985/