python tarfile在创建tarball时忽略目录结构

sar*_*jit 0 python

我有一个直接结构:

D:\testfolder\folder_to_tar:
                |---folder1
                      |--- file1.txt
                |---folder2
                      |--- file2.txt
                |---file3.txt
Run Code Online (Sandbox Code Playgroud)

我想在相同的目录级别使用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
                                       .....
Run Code Online (Sandbox Code Playgroud)

代码:

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()
Run Code Online (Sandbox Code Playgroud)

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

Bel*_*eli 5

尝试使用以下命令替换tarout.add行:

tarout.add(tarname,arcname=os.path.basename(tarname))
Run Code Online (Sandbox Code Playgroud)

注意:你还需要 import os