1

我的目录结构为:

D:\testfolder\folder_to_tar:
                |---folder1
                      |--- file1.txt
                |---folder2
                      |--- file2.txt
                |---file3.txt

我想在同一目录级别使用 Python 创建一个 tarball。但是,我观察到,在 tarball 中,python 也包括父目录,即testfolder在我的示例中。

Expected Output :
D:\testfolder:
        |---folder_to_tar.tar
                |---folder_to_tar
                        |--folder1
                            .....

Actual Output :
D:\testfolder:
        |---folder_to_tar.tar
                |---testfolder
                       |---folder_to_tar
                                |--folder1
                                       .....

代码 :

import tarfile

tarname = "D:\\testfolder\\folder_to_tar"
tarfile1 = "D:\\testfolder\\folder_to_tar.tar"

tarout = tarfile.open(tarfile1,mode="w")

try:
    tarout.add(tarname,arcname=tarname)     
finally:
    tarout.close()

有人可以帮助我如何实现它。

4

2 回答 2

6

尝试将 tarout.add 行替换为:

tarout.add(tarname,arcname=os.path.basename(tarname))

注意:您还需要import os

于 2013-08-28T12:54:54.257 回答
0

您是否尝试\在末尾添加tarname

于 2013-08-28T12:49:26.483 回答