我试图在python中编写这个东西,我遇到了障碍。我有这个列表,我想修改它,并在程序退出后保留更改。我不知道从哪里开始。
基本上,我想要一个可以访问和修改的列表,并且会在使用它的东西关闭后保存并不会重置。
编辑:这是我的想法;我有一个列表,让我们称它为篮子。 我想编写一个程序来添加和删除'篮子,并在关闭程序后保留更改。希望澄清......我尝试使用全局,但这很有趣,所以我基本上删除了那个版本。答案 0 :(得分:2)
您可以使用json,pickle或任何类似的库将数据写入文件并将其读回并存储在列表中。这将在当前工作目录中创建文件save.json,其中包含有关列表的json信息。你会注意到你的列表将始终包含你之前添加的数字,它不会忘记"您添加到列表中的内容,因为它已保存在文件中。
import os
import json
foo = [1,2,5,9] #default
#if safe file exists, load its contents into foo list
if os.path.isfile("save.json"):
with open("save.json", "r") as file:
foo = json.loads(file.read())
foo.append(int(input("Enter a number to add to foo")))
print(foo)
#write foo list to file
with open("save.json", "w") as file:
file.write(json.dumps(foo))
答案 1 :(得分:0)
这可以通过外部文件来实现。
只需将列表写入文件,稍后可以检索此信息,将其作为列表进行操作,然后覆盖。
据我所知,没有其他持久存储方式。
答案 2 :(得分:0)
这是一个让你在普通python中开始的例子。该示例包括将列表保存到文件的方法以及从文件中读取的方法。由于您没有提供任何已经尝试过的代码,因此您的工作就是以您需要的方式完成这项工作。
#saving a list to a file
items = ['apple', 'pear', 'grape']
file = open('C:\PythonTest\somefile.txt', 'w+')
for item in items:
file.write('%s\n' % item)
file.close()
#reading a list from a file
items = []
with open('C:\PythonTest\somefile.txt') as reader:
for line in reader:
items.append(line.rstrip("\r\n"))
print(items)