Извлечь содержимое папки в tar-файл - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь извлечь файл tar в python, и мне было интересно, могу ли я извлечь содержимое папки в файле tar. Например:

tar_files.tar.gz

  • tar_files
    • test.txt
    • test2.txt
    • MYDIR
      • test3.txt
    • mydir2
      • test4.txt

Я хочу извлечь его в mydirectory, вот так:

  • MyDirectory
    • test.txt
    • test2.txt
    • MYDIR
      • test3.txt
    • mydir2
      • test4.txt

Как мне подойти к этой проблеме?

1 Ответ

0 голосов
/ 15 ноября 2018

Вот быстрый и грязный способ сделать это:

import os
import sys

#Name of tarfile (without the .tar.gz extension)
file_name = "tarfile"

#Target directory
target_dir = "mydirectory"


#Extract the tar file
os.system("tar -xf " + file_name + ".tar.gz")

#Move the tar files into your target folder
os.system("mv " + file_name + " " + target_dir)

Несмотря на то, что os.system вызовы могут быть не самой лучшей практикой, работа выполняется быстро.

В качестве альтернативы вы можете заглянуть в модуль tarfile: https://docs.python.org/2/library/tarfile.html

...