如何使python实例化对象可重用?

时间:2012-08-10 21:18:20

标签: python

我的几个python程序旨在

  1. 格式化为哈希表(因此,我是一个dict()上瘾者;-))“源”文本文件中的一些信息,

  2. 使用该表修改“目标”文件。我担心的是我通常处理的“源”文件可能非常大(几GB),因此解析时间超过10秒,我需要多次运行该程序。总而言之,每次我需要修改一个新的“目标”时,我觉得重新加载相同的大文件是一种浪费。

  3. 我的想法是,如果能够以一种python能够更快地读取/处理的方式编写一个由“源”文件制作的dict()(我想一个接近一个格式的格式)通过python在RAM中使用,它会很棒。

    是否有可能实现这一目标?

    谢谢。

2 个答案:

答案 0 :(得分:4)

是的,你可以marshal dict,或者你可以使用pickle。对于两者之间的差异,特别是关于速度,请参阅this question

答案 1 :(得分:0)

pickle是这类事情的常用解决方案,但如果您看到能够编辑已保存数据的任何值,并且字典仅使用简单类型(如字符串和数字)(嵌套字典或列表)也可以),您可以简单地将字典的repr()写入文本文件,然后使用eval()(或者更好的是,ast.literal_eval())将其解析回Python字典。< / p>