Führen Sie ein Python-Skript aus einer Batchdatei aus. Die Hauptverarbeitung erfolgt über das Python-Skript. Der Stapel nimmt eine Datei oder einen Ordner und übergibt sie an ein Python-Skript.
runBatPy-Ordner ┣ ・ runPythonScript.bat ┗・PythonScript.py Platzieren Sie PythonScript.py an derselben Stelle wie runPythonScript.bat, um es auszuführen.
cd /d %~dp0
C:\Python27\python.exe PythonScript.py %*
cd
pause
Nehmen Sie Dateien usw. und übergeben Sie ihre Pfade an PythonScript. Wenn Sie nichts werfen, erhalten Sie keinen Fehler.
cd /d %~dp0
Machen Sie das aktuelle Verzeichnis zum Verzeichnis der ausgeführten Batchdatei.
C:\Python27\python.exe PythonScript.py %*
Von links nach rechts
C:\Python27\python.exe
Ich denke, dass es Zeiten gibt, in denen die Umgebungsvariable nicht festgelegt ist oder Sie sie nicht ändern möchten, also übergeben Sie sie direkt.
PythonScript.py
Skriptdatei, die Sie in Python ausführen möchten
%*
Jetzt können Sie alle Pfade von Dateien und Ordnern sehen, die in runPythonScript.bat gezogen und dort abgelegt wurden.
Ich übergebe es an PythonScript.py.
Anders als "% *" können Sie sehen, was Sie mit "% 1 bis% 9" erhalten haben, aber diese Methode kann nur bis zu neun sehen.
C:\Python27\python.exe PythonScript.py %* %IN%
Dadurch wird auch der Wert% IN% an PythonScript.py übergeben.
import sys
if __name__ == "__main__":
param = sys.argv
for p in param:
print p
if __name__ == "__main__":
Nur innerhalb der if-Anweisung verarbeiten, wenn sie als Skriptdatei ausgeführt wird.
sys.argv
argv [0] ist der Name des Skripts
Danach wird der von% * übergebene Pfad eingeschlossen.
Zitiert aus der Python 27-Referenz
Eine Liste der Befehlszeilenargumente, die an das Python-Skript übergeben wurden. argv [0] ist der Name des Skripts, aber ob es sich um einen vollständigen Pfadnamen handelt oder nicht, hängt vom Betriebssystem ab. Wenn Sie Python mit -c als Befehlszeilenargument starten, ist argv [0] die Zeichenfolge '-c'. Wenn Sie Python ohne Skriptnamen starten, ist argv [0] eine leere Zeichenfolge. Informationen zum Durchlaufen der Liste der Dateien, die durch Standardeingabe- oder Befehlszeilenargumente angegeben werden, finden Sie im Dateieingabemodul.
Recommended Posts