簡體   English   中英

使用 tarfile 在 Python 中創建 tar 文件會在 tar.gz 中創建目錄樹

[英]Creating tar file in Python with tarfile makes directory tree inside of tar.gz

為了創建 tar.gz 文件,我使用下面的代碼。

import os
import tarfile
def tardir(path, tar_name):
    with tarfile.open(tar_name, "w:gz") as tar_handle:
        for root, dirs, files in os.walk(path):
            for file in files:
                tar_handle.add(os.path.join(root, file))
tardir('C:/../../projects/project_folder', 'C:/../../projects/project_folder/tar_files/tar_file.tar.gz')
tar.close()

我想要 gzip tar_files 文件夾,當我解壓縮它時,我只想看到這個文件夾。 但是使用上面的代碼,在 tar 文件中,我看到它與目錄樹一起存儲。 就像當我打開它時,我看到以下文件夾

/../../projects/project_folder

我怎么解決這個問題? 謝謝回答

下面鏈接中的代碼解決了我的問題。

如何使用 Python 創建完整的壓縮 tar 文件?

import tarfile
import os.path

def make_tarfile(output_filename, source_dir):
    with tarfile.open(output_filename, "w:gz") as tar:
        tar.add(source_dir, arcname=os.path.basename(source_dir))

為參數output_filenamesource_dir提供絕對地址是合適的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM