python file、Pythonのwxtractarファイルを書き込もうとしています。
私が理解しているように、subprocess
はこのミッションに適したツールです。
私は次のコードを書きます:
from subprocess import call
def tarfile(path):
call(["tar"], path)
if __name__ == "__main__":
tarfile("/root/tryit/output.tar")
出力が/root/tryit/
にあるtarファイルの場合。
実行すると、次のメッセージが表示されます。
TypeError: bufsize must be an integer
このツールでtarコマンドを使用できますか?
コマンドをリストとして指定する必要があります。そのほか、メインオプション(x
)がありません。
def tarfile(path):
call(["tar", "xvf", path])
ところで、Pythonには tarfile
モジュール :
import tarfile
with tarfile.open("/root/tryit/output.tar") as tar:
tar.extractall() # OR tar.extractall("/path/to/extract")