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 に答える