Python创建的tar.gz文件包含_&引用;文件夹,如何删除?
我通过Python创建的.tar.gz文件包含一个我需要删除的“wu”根级文件夹 下面是我正在使用的.tar.gz函数:Python创建的tar.gz文件包含_&引用;文件夹,如何删除?,python,Python,我通过Python创建的.tar.gz文件包含一个我需要删除的“wu”根级文件夹 下面是我正在使用的.tar.gz函数: def make_tarfile(output_filename, source_dir): with tarfile.open(output_filename, "w:gz") as tar: tar.add(source_dir, arcname='') 我使用以下内容创建.tar.gz: 生成文件('ARCHIVE.tar.gz','C:\Fo
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname='')
我使用以下内容创建.tar.gz:
生成文件('ARCHIVE.tar.gz','C:\FolderA')
有趣的是,当我提取.tar.gz时,“\ux”文件夹并没有出现。从这个意义上说,没关系。但这将是一个被许多用户使用的.tar.gz,因此我希望它不包含这样的怪癖。您在7z界面中看到的是它添加到每个目录中的
。
条目,您可以通过单击它来导航。它不存在于tar存档中
考虑以下几点:
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
for name in os.listdir(source_dir):
tar.add(os.path.join(source_dir, name), arcname=name)
当被称为make_tarfile('ARCHIVE.tar.gz','FolderA')
时,其中FolderA
是:
FolderA/
|-- FolderB
| `-- example
`-- example
结果生成一个包含以下内容的存档:
example
FolderB/
FolderB/example
现在我不喜欢这样,因为我更喜欢将tar文件解压缩到顶级目录中。由于它们是使用tar-czf ARCHIVE.tar.gz FolderA/
创建的,因此具有以下条目:
FolderA/
FolderA/example
FolderA/FolderB/
FolderA/FolderB/example
您在7z界面中看到的是它添加到每个目录中的
。
条目,这样您就可以通过单击它向上导航。它不存在于tar存档中
考虑以下几点:
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
for name in os.listdir(source_dir):
tar.add(os.path.join(source_dir, name), arcname=name)
当被称为make_tarfile('ARCHIVE.tar.gz','FolderA')
时,其中FolderA
是:
FolderA/
|-- FolderB
| `-- example
`-- example
结果生成一个包含以下内容的存档:
example
FolderB/
FolderB/example
现在我不喜欢这样,因为我更喜欢将tar文件解压缩到顶级目录中。由于它们是使用tar-czf ARCHIVE.tar.gz FolderA/
创建的,因此具有以下条目:
FolderA/
FolderA/example
FolderA/FolderB/
FolderA/FolderB/example
如果有人遇到这种情况,请使用7Zip CLI并对所需文件夹的所有内容进行通配符复制(将省略父文件夹)。像这样:
subprocess.call(['C:\Program Files\\7-Zip\\7z.exe', 'a', '-ttar', 'C:\ARCHIVE.tar', 'C:\FolderA\*'])
subprocess.call(['C:\Program Files\\7-Zip\\7z.exe', 'a', '-tgzip', 'C:\ARCHIVE.tar.gz', 'C:\ARCHIVE.tar'])
归档文件中也不会有“u”文件夹,这将是一个整洁的文件夹:)如果有人遇到这种情况,请使用7Zip CLI并对所需文件夹的所有内容进行通配符复制(父文件夹将被省略)。像这样:
subprocess.call(['C:\Program Files\\7-Zip\\7z.exe', 'a', '-ttar', 'C:\ARCHIVE.tar', 'C:\FolderA\*'])
subprocess.call(['C:\Program Files\\7-Zip\\7z.exe', 'a', '-tgzip', 'C:\ARCHIVE.tar.gz', 'C:\ARCHIVE.tar'])
归档文件中也不会有“u”文件夹,它会很好而且干净:)谢谢回复。“uz”文件夹不是7z接口问题,我也可以使用其他程序看到它。使用7z CLI是我的解决方案。感谢回复。“uz”文件夹不是7z接口问题,我也可以使用其他程序看到它。使用7z CLI是我的解决方案。