当我调用add()一个上tarfile有一个文件路径对象,该文件被添加到与目录层次结构关联的压缩包.换句话说,如果我解压缩tarfile,则会再现原始目录层次结构中的目录.
有没有办法简单地添加一个没有目录信息的普通文件,解压缩生成的tarball产生一个平面的文件列表?
dia*_*neo 66
TarFile.add()方法的arch参数是匹配目标的另一种方便方法.
示例:您希望将dir repo/a.git /存档到tar.gz文件,但您更希望存档中的树根以a.git /但不是repo/a.git /开头,您可以这样做如下:
archive = tarfile.open("a.git.tar.gz", "w|gz")
archive.add("repo/a.git", arcname="a.git")
archive.close()
Run Code Online (Sandbox Code Playgroud)
Wim*_*Wim 44
您可以tarfile.addfile()在TarInfo对象中使用第一个参数,您可以指定name与您要添加的文件不同的对象.
这段代码应添加/path/to/filename到TAR文件中,但会将其解压缩为myfilename:
tar.addfile(tarfile.TarInfo("myfilename.txt"), open("/path/to/filename.txt"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36567 次 |
| 最近记录: |