dav*_*gan 4 python file tar in-memory
我想用Python创建一个带有分层目录结构的tar存档,使用字符串作为文件内容.我已经阅读了这个问题,它显示了一种将字符串添加为文件的方法,但不是作为目录.如何在不实际制作目录的情况下动态添加目录到tar存档?
就像是:
archive.tgz:
file1.txt
file2.txt
dir1/
file3.txt
dir2/
file4.txt
Run Code Online (Sandbox Code Playgroud)
jco*_*ado 10
扩展链接问题中给出的示例,您可以按如下方式进行:
import tarfile
import StringIO
import time
tar = tarfile.TarFile("test.tar", "w")
string = StringIO.StringIO()
string.write("hello")
string.seek(0)
info = tarfile.TarInfo(name='dir')
info.type = tarfile.DIRTYPE
info.mode = 0755
info.mtime = time.time()
tar.addfile(tarinfo=info)
info = tarfile.TarInfo(name='dir/foo')
info.size=len(string.buf)
info.mtime = time.time()
tar.addfile(tarinfo=info, fileobj=string)
tar.close()
Run Code Online (Sandbox Code Playgroud)
请注意mode属性,因为默认值可能不包含更改为它并获取其内容所需的目录所有者的执行权限.
| 归档时间: |
|
| 查看次数: |
2251 次 |
| 最近记录: |