【发布时间】:2019-04-05 20:31:50
【问题描述】:
我一直在 Google 和 stackoverflow 中寻找信息,但没有找到好的解决方案。
我需要处理一个列表,添加元素,删除元素......但保存在一个文件中。这是为了避免在执行完成时丢失列表,因为我需要定期执行我的 python 脚本。以下是我找到的替代方案,但它们存在一些问题
- 搁置模块:找不到如何删除列表中的元素(例如
list.pop())而不是删除所有列表。 -
pprint.pformat(): 修改信息,我需要删除所有文档并保存修改后的信息,非常低效。 - json: tedioos 只是一个列表,似乎不能解决我的问题
那么,什么是处理列表的最佳方式,就像mylist.pop() 以有效的方式将更改保存在文件中一样简单?
【问题讨论】:
-
你可以试试
pickle,但如果修改频繁,也许你应该使用数据库,而不是文件。 -
这就是问题所在,修改频率高达每小时 10 次。我不考虑使用数据库,很好
-
打开文件,读入列表,操作列表,保存列表到文件中。取决于文件的大小需要几毫秒或更长的时间。请参阅docs.python.org/3/tutorial/… - 如果您愿意,您可以使用 csv-module 存储您的列表 - 它也可以处理 excaping textstrings。
-
ps: - 将内容保存在文件中和执行是矛盾的。文件是流,你需要寻找,IO 开始很慢。每小时一分钟 10 次,你在说什么大小的列表? 1k 项? 10 万件物品?百万?
-
不多,30k 项。我将阅读列表,修改它并再次保存,每天只修改我的代码一次。使用数据库会使项目复杂化,而不是必要的。谢谢大家,我想我可以结束这个问题了,因为所有的替代方案都已经暴露出来了,有利有弊
标签: json python-3.x shelve pprint