Запустите bash script с помощью python - TypeError: bufsize должен быть целым числом
Я пытаюсь написать файл python, который содержит файл wxtrac tar в python.
Как я понимаю, subprocess
является подходящим инструментом для этой миссии.
Я пишу следующий код:
from subprocess import call
def tarfile(path):
call(["tar"], path)
if __name__ == "__main__":
tarfile("/root/tryit/output.tar")
Когда выводится tar файл, расположенный в /root/tryit/
.
Когда я запустил его, я получаю следующее сообщение:
TypeError: bufsize must be an integer
Можно ли использовать команду tar с помощью этого инструмента?
Ответы
Ответ 1
Вы должны указать команду как список. Кроме того, отсутствует главный параметр (x
).
def tarfile(path):
call(["tar", "xvf", path])
BTW, Python имеет tarfile
модуль:
import tarfile
with tarfile.open("/root/tryit/output.tar") as tar:
tar.extractall() # OR tar.extractall("/path/to/extract")