内存映射的tar文件内容

嗨,
我想直接从TAR文件读取到内存中,这样我就可以
(快速)操作文件并将其更改写出到另一个文件。我
我想我可以做一些类似的事情:
#!/usr/bin/env python
导入压缩文件
导入mmap
FIL=tarfile.open("out.tar.gz","r:gz")
Tarinf=fil.next()
Myfils={}
当tarinf!=None时:
Tarinf=fil.next()
Ref=文件.提取文件(Tarinf)
Myfils[tarinf.name]=mmap.mmap(ref.fileno(),0)
但是TarInfo的提取文件()函数似乎并没有给我一个文件号,
所以我不能把这个传给mmap。
有没有想过实现这一目标的方法?
克里斯
--
在上下文中查看此消息:http://www.nabble.com/memory-mapped-...p20473925.html
从Nabble.com上的python-python-list邮件列表存档中发送。

# 回答1


11月12日晚上8:51*,Chris Brooks 似乎您必须将文件的内容读取到mmap中。
您可以创建一个tarinfoobj.size大小的匿名地图,然后设置
Mapobj[:]=文件.提取文件(Tarinf).read()。未经测试。

标签: python

添加新评论