Wie kann ich das Arbeitsverzeichnis für popen angeben
-
18-09-2019 - |
Frage
Gibt es eine Möglichkeit, das laufende Verzeichnis des Befehls in Python subprocess.Popen()
angeben?
Zum Beispiel:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
Mein Python-Skript wird in C:\programs\python
befindet
Ist es möglich, C:\mytool\tool.exe
im Verzeichnis D:\test\local
laufen?
Wie kann ich das Arbeitsverzeichnis für einen Teilprozess?
Lösung
subprocess.Popen href="http://docs.python.org/library/subprocess.html#using-the-subprocess-module" rel="noreferrer"> nimmt cwd
Argument die festlegen Aktuelles Arbeitsverzeichnis; Sie wollen auch Ihre Schrägstriche ('d:\\test\\local'
), oder verwenden Sie r'd:\test\local'
zu entkommen, so dass die Schrägstriche nicht als Escape-Sequenzen von Python interpretiert werden. Die Art, wie Sie es geschrieben haben, wird der \t
Teil zu einem Tab übersetzt werden .
Also, Ihre neue Zeile soll wie folgt aussehen:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
Um die Python-Skript Pfad als cwd, import os
zu verwenden und definiert cwd mit diesem:
os.path.dirname(os.path.realpath(__file__))