我的几个python程序旨在
格式化为哈希表(因此,我是一个dict()上瘾者;-))“源”文本文件中的一些信息,
使用该表修改“目标”文件。我担心的是我通常处理的“源”文件可能非常大(几GB),因此解析时间超过10秒,我需要多次运行该程序。总而言之,每次我需要修改一个新的“目标”时,我觉得重新加载相同的大文件是一种浪费。
我的想法是,如果能够以一种python能够更快地读取/处理的方式编写一个由“源”文件制作的dict()(我想一个接近一个格式的格式)通过python在RAM中使用,它会很棒。
是否有可能实现这一目标?
谢谢。
答案 0 :(得分:4)
是的,你可以marshal
dict,或者你可以使用pickle
。对于两者之间的差异,特别是关于速度,请参阅this question。
答案 1 :(得分:0)
pickle
是这类事情的常用解决方案,但如果您看到能够编辑已保存数据的任何值,并且字典仅使用简单类型(如字符串和数字)(嵌套字典或列表)也可以),您可以简单地将字典的repr()
写入文本文件,然后使用eval()
(或者更好的是,ast.literal_eval()
)将其解析回Python字典。< / p>