对于那些知道的人来说,简单的问题,对我来说很难,因为我认为这不是偶然的。
制作一个简单的python程序后,可以在计算机的命令提示符下运行它。
我想知道或者是否可以允许以这种方式运行它的人,将一个元素添加到列表(list.insert)并在下次运行程序时将其保留在那里?(从而编辑预定义列表到新列表并以此方式保存它)
编辑:只是提供更多信息:
所有程序所要做的就是允许您选择列表。从该列表中返回一个随机项。 我只是希望允许在运行程序时将项添加到此列表中,之后保持列表更新。
答案 0 :(得分:6)
最基本的方法是使用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()