Kommandozeile per Python nutzen
Verfasst: Samstag 20. Juni 2015, 18:52
Hallo!
Ich schreibe gerade in Python ein Programm, um fsb-Dateien mit dem Programm FSBext zu öffnen. Es ist als kleines Einstiegsprogramm zum Üben gedacht (ich bin absoluter Neuling), da FSBext selbst die Kommandozeile nutzt.
Zum genauen Plan:
Mit folgendem Befehl in der Kommandozeile kann ich FSBext aufrufen, ihm einen Ordner zuweisen, in den die entpackten Dateien gespeichert werden sollen, und ihm sagen, welche fsb-Datei er entpacken soll:
(1) fsbext -d neuer_Speicherort Datei.fsb
Mit folgendem Befehl schaffe ich es bereits FSBext mit Python in der Kommandozeile zu öffen als würde ich einfach nur "fsbext" statt des oben angegebenen Befehls in der Kommandozeile nutzen:
(2) subprocess.call(r"C:\Users\Agando\Desktop\fsbext\fsbext.exe")
Erkennbar ist dies daran, dass mir dann die Optionen aufgelistet werden, die ich im Befehl unterbringen kann (wie z. B. das "-d", das ich oben benutze).
Daher kam ich auf die Idee, den oben genutzen Befehl (1) einfach genauso in den Python-Befehl (2) einzusetzen, also:
(3) subprocess.call(r"C:\Users\Agando\Desktop\fsbext\fsbext.exe" -d neuer_Speicherort Datei.fsb)
Leider bringt er mir nun die Fehlermeldung: SyntaxError: invalid syntax
Nun bin ich mir unsicher, ob es mit diesem Befehl überhaupt auf diese Weise möglich ist oder ob es vielleicht mehr Sinn macht, die Kommandozeile direkt mit dem oben aufgeführten Befehl (aber über Python) zu füttern. Dafür habe ich bis jetzt aber noch keine Lösung finden können.
Falls das wichtig ist, für die Variablen habe ich folgendes eingegeben:
(4) neuer_Speicherort - r„C:\Users\Agando\Desktop\fsbext\Ablage“
(5) Datei.fsb - r"C:\Program Files (x86)\Origin Games\Kingdoms of Amalur Reckoning\content\004\German\tech_only_lorestones.fsb"
Das r habe ich jeweils vorangestellt, damit es mit den "\" keine Probleme gibt.
Ich denke, ich habe alles wichtige erzählt, und hoffe sehr auf Eure Hilfe.
Viele Grüße
Ich schreibe gerade in Python ein Programm, um fsb-Dateien mit dem Programm FSBext zu öffnen. Es ist als kleines Einstiegsprogramm zum Üben gedacht (ich bin absoluter Neuling), da FSBext selbst die Kommandozeile nutzt.
Zum genauen Plan:
Mit folgendem Befehl in der Kommandozeile kann ich FSBext aufrufen, ihm einen Ordner zuweisen, in den die entpackten Dateien gespeichert werden sollen, und ihm sagen, welche fsb-Datei er entpacken soll:
(1) fsbext -d neuer_Speicherort Datei.fsb
Mit folgendem Befehl schaffe ich es bereits FSBext mit Python in der Kommandozeile zu öffen als würde ich einfach nur "fsbext" statt des oben angegebenen Befehls in der Kommandozeile nutzen:
(2) subprocess.call(r"C:\Users\Agando\Desktop\fsbext\fsbext.exe")
Erkennbar ist dies daran, dass mir dann die Optionen aufgelistet werden, die ich im Befehl unterbringen kann (wie z. B. das "-d", das ich oben benutze).
Daher kam ich auf die Idee, den oben genutzen Befehl (1) einfach genauso in den Python-Befehl (2) einzusetzen, also:
(3) subprocess.call(r"C:\Users\Agando\Desktop\fsbext\fsbext.exe" -d neuer_Speicherort Datei.fsb)
Leider bringt er mir nun die Fehlermeldung: SyntaxError: invalid syntax
Nun bin ich mir unsicher, ob es mit diesem Befehl überhaupt auf diese Weise möglich ist oder ob es vielleicht mehr Sinn macht, die Kommandozeile direkt mit dem oben aufgeführten Befehl (aber über Python) zu füttern. Dafür habe ich bis jetzt aber noch keine Lösung finden können.
Falls das wichtig ist, für die Variablen habe ich folgendes eingegeben:
(4) neuer_Speicherort - r„C:\Users\Agando\Desktop\fsbext\Ablage“
(5) Datei.fsb - r"C:\Program Files (x86)\Origin Games\Kingdoms of Amalur Reckoning\content\004\German\tech_only_lorestones.fsb"
Das r habe ich jeweils vorangestellt, damit es mit den "\" keine Probleme gibt.
Ich denke, ich habe alles wichtige erzählt, und hoffe sehr auf Eure Hilfe.
Viele Grüße