2014-09-22 8 views
12

Ich versuche, Python-Datei, die WX-TAR-Datei in Python zu schreiben. Wie ich es verstehe, subprocess ist das geeignete Werkzeug für diese Mission.Bash-Skript mit Python ausführen - TypeError: bufsize muss eine ganze Zahl sein

schreibe ich den folgenden Code:

from subprocess import call 


def tarfile(path): 
    call(["tar"], path) 


if __name__ == "__main__": 
    tarfile("/root/tryit/output.tar") 

Wenn der Ausgang der TAR-Datei ist, die in /root/tryit/ entfernt.

Wenn ich es laufen, bekomme ich die folgende Meldung:

TypeError: bufsize must be an integer 

Kann ich tar-Befehl mit diesem Tool verwenden?

Antwort

23

Sie sollten den Befehl als Liste angeben. Außerdem fehlt die Hauptoption (x).

def tarfile(path): 
    call(["tar", "xvf", path]) 

BTW, hat Python ein tarfile module:

import tarfile 
with tarfile.open("/root/tryit/output.tar") as tar: 
    tar.extractall() # OR tar.extractall("/path/to/extract") 
Verwandte Themen