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

python tarfile在创建tarball时忽略目录结构,python,Python,我的目录结构如下: D:\testfolder\folder_to_tar: |---folder1 |--- file1.txt |---folder2 |--- file2.txt |---file3.txt 我想在同一目录级别使用Python创建一个tarball。然而,我注意到,在tarball中,pyt

我的目录结构如下:

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()

有人能帮我实现吗。

你试过在
tarname
的末尾添加
\
吗?

你试过在
tarname
的末尾添加
\
吗?

试着替换tarout。添加行为:

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

注意:您还需要
导入操作系统

尝试将tarout.add行替换为:

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

注意:您还需要
导入操作系统

,这不会有多大区别。这不会有多大区别。