我可以取消用json/pickle创建的多个序列化文件的连接吗?



我有很多小的python生成的pickle转储文件;我想将这些文件连接到一个文件,并希望能够在需要时取消连接它们。这可能吗?

(使用python 2.2与pickle/可以考虑json与python 2.6如果上面可以使用json)

这通常不可能与json,但我相信它应该与pickle工作。你只需要对每个被转储的"记录"使用pickle.load调用。

在这里,我用python2.7模拟了你的工作流程,一切都没问题:

>>> import pickle
>>> with open('foo', 'wb') as p:
...     pickle.dump({1, 2, 3}, p)
... 
>>> with open('bar', 'wb') as p:
...     pickle.dump({4, 5, 6}, p)
... 
>>> import subprocess
>>> p = subprocess.Popen(['cat', 'foo', 'bar'], stdout=subprocess.PIPE)
>>> result = p.communicate(None)
>>> print result
('c__builtin__nsetnp0n((lp1nI1naI2naI3natp2nRp3n.c__builtin__nsetnp0n((lp1nI4naI5naI6natp2nRp3n.', None)
>>> import io
>>> stream = io.BytesIO(result[0])
>>> print pickle.load(stream)
set([1, 2, 3])
>>> print pickle.load(stream)
set([4, 5, 6])

最新更新