2024-05-15 20:24:35 发布
网友
当我用文件路径调用tarfile对象上的add()时,该文件将被添加到tarball中,并与目录层次结构相关联。换句话说,如果我解压缩tarfile,原始目录层次结构中的目录将被复制。
tarfile
add()
有没有一种方法可以简单地添加一个没有目录信息的普通文件,从而使生成的tarball产生一个简单的文件列表?
您可以在^{}对象(第一个参数)中使用^{},您可以指定一个不同于您要添加的文件的name。
name
这段代码应该将/path/to/filename添加到TAR文件中,但会将其提取为myfilename:
/path/to/filename
myfilename
tar.addfile(tarfile.TarInfo("myfilename.txt"), open("/path/to/filename.txt"))
使用TarFile.add()方法的arcname参数是匹配目标的另一种简便方法。
示例:您希望将dirrepo/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()
也许您可以使用“arcname”参数来TarFile.add(name,arcname)。它采用文件在存档文件中的备用名称。
您可以在^{} 对象(第一个参数)中使用^{} ,您可以指定一个不同于您要添加的文件的
name
。这段代码应该将
/path/to/filename
添加到TAR文件中,但会将其提取为myfilename
:使用TarFile.add()方法的arcname参数是匹配目标的另一种简便方法。
示例:您希望将dirrepo/a.git/存档到tar.gz文件,但希望存档中的树根以a.git/开头,而不是以repo/a.git/开头,可以执行以下操作:
也许您可以使用“arcname”参数来TarFile.add(name,arcname)。它采用文件在存档文件中的备用名称。
相关问题 更多 >
编程相关推荐