So führen Sie mehrzeilige Anweisungen in einer einzeiligen Befehlszeile aus
Beim Ausführen einer einzeiligen Schleife mit der Python-Option -c , führt das Importieren eines Moduls vor der Schleife zu einem Syntaxfehler. Dies liegt daran, dass der Python-Interpreter den Codeblock als eine einzelne Anweisung behandelt.
Um dieses Problem zu lösen, können mehrere Methoden eingesetzt werden:
Pipes verwenden
Um den Syntaxfehler zu beheben, verwenden Sie den Befehl echo, um den Codeblock als Reihe von Eingabezeilen an Python umzuleiten:
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Verwenden von exec()
Ein anderer Ansatz besteht darin, die Funktion exec() zu verwenden, um den Codeblock als Python-Skript auszuführen:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Erweitern auf mehrere Zeilen
Bei Verwendung Pipes oder exec() nicht möglich ist, kann der Codeblock auf mehrere durch Semikolons getrennte Zeilen erweitert werden:
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
Durch die Verwendung dieser Techniken können Sie mehrzeilige Anweisungen in einer einzigen Befehlszeile ausführen und dabei die gewünschte Struktur für Ihr Makefile beibehalten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3