Rufen Sie Python-Skript von Bash mit Argument auf
Ich weiß, dass ich ein python-script aus meinem bash-Skript mit dem folgenden:
python python_script.py
Aber was ist, wenn ich es wollte zu übergeben Sie eine variable /argument zu meinem python-Skript aus meinem bash-Skript. Wie kann ich das tun?
Im Grunde bash-Arbeit wird ein mit dem Namen und dann python wird es hochladen, aber ich brauche zu senden, die mit dem Namen von bash in python, wenn ich es nennen.
InformationsquelleAutor der Frage Jimmy | 2013-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausführen eines python-Skript in ein bash-Skript, das Sie benötigen, rufen Sie den gleichen Befehl, den Sie würde in einem Endgerät. Zum Beispiel
Zugriff auf diese Variablen in python benötigen Sie
InformationsquelleAutor der Antwort duckman_1991
Verwenden
und in Ihre Python-Skript
InformationsquelleAutor der Antwort NPE
Neben
sys.argv
werfen Sie auch einen Blick auf die argparse - Modul, das hilft bei der Definition der Optionen und Argumente für Skripte.InformationsquelleAutor der Antwort miku
Embedded-option:
Wrap-python-code in eine bash-Funktion.
Verwendung von Umgebungsvariablen, die zum übergeben von Daten in das eingebettete python-Skript.
http://bhfsteve.blogspot.se/2014/07/embedding-python-in-bash-scripts.html
InformationsquelleAutor der Antwort user77115
Verwendung im Skript:
oder
Wird das script ausgeführt werden, ohne Ausgang.
InformationsquelleAutor der Antwort burseaner
Habe ich ein bash-Skript aufruft, wird das kleine python-routine eine Meldung anzeigen Fenster. Als ich killall beenden Sie das python-Skript kann ich Sie nicht verwenden die obige Methode, wie würde es dann bedeuten ausführen von killall python, die aus anderen python-Programmen so nutze ich
pythonprog.py "$argument"
& # Der & übergibt die Steuerung direkt an die bash-script, so muss außerhalb der backticks. Die Vorschau der Nachricht zeigt es ohne "`" beiderseits der Befehl aus irgendeinem Grund.Solange das python-Skript ausgeführt wird, von der cli mit dem Namen anstatt mit python pythonprog.py dies funktioniert in der script. Wenn Sie mehr als ein argument, nur ein Leerzeichen zwischen den einzelnen ein in die Anführungszeichen mit ein.
InformationsquelleAutor der Antwort Dave Thebuskeruk
und werfen Sie einen Blick auf die getopt Modul.
Es funktioniert ganz gut für mich!
InformationsquelleAutor der Antwort HappyHacking