我的目标是:
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()
有人可以帮助我了解如何实现它。
答案 0 :(得分:5)
尝试用:
替换tarout.add行tarout.add(tarname,arcname=os.path.basename(tarname))
注意:您还需要import os
答案 1 :(得分:0)
您是否尝试在\
末尾添加tarname
?