Heim >Backend-Entwicklung >Python-Tutorial >Wie führe ich mehrzeilige Befehle in einer einzeiligen Befehlszeile aus?

Wie führe ich mehrzeilige Befehle in einer einzeiligen Befehlszeile aus?

Barbara Streisand
Barbara StreisandOriginal
2024-10-18 11:14:03471Durchsuche

How to Execute Multi-Line Commands in a One-Line Command Line?

Mehrzeilige Befehle in einer einzeiligen Befehlszeile ausführen

Wenn Sie die Python-Option -c zum Ausführen einer einzeiligen Schleife verwenden, Das Importieren eines Moduls vor der Schleife kann zu einem Syntaxfehler führen. Dieses Problem entsteht, weil die Befehlszeile den gesamten Befehl als eine einzige Codezeile behandelt.

Um diese Einschränkung zu überwinden, gibt es mehrere Ansätze:

  • Verwenden Echo:

    <code class="bash">echo -e "import sys\nfor r in range(10): print 'rob'" | python</code>

    Dieser Befehl verwendet Echo, um Zeilenumbrüche in die Befehlszeichenfolge einzufügen, die Python dann als mehrere Zeilen interpretiert.

  • Verwenden von Exec:

    <code class="bash">python -c "exec(\&quot;import sys\nfor r in range(10): print 'rob'\&quot;)&quot;</code>

    Dieser Ansatz verwendet die exec-Funktion, um einen String dynamisch als Python-Code auszuführen.

  • Verwenden von Subshells:

    <code class="bash">(echo "import sys" ; echo "for r in range(10): print 'rob'") | python</code>

    Dieser Befehl teilt den Befehl mithilfe von Subshells in mehrere Zeilen auf. Jede Zeile wird dann unabhängig ausgeführt.

  • Verwenden von Crasts Antwort:

    <code class="bash">python3 -c "import sys ; for r in range(10) : print('rob')"</code>

    Dieser Ansatz fügt ein Semikolon vor der for-Schleife hinzu, um dies anzuzeigen Die Importanweisung ist ein separater Befehl.

  • Antwort von SilentGhost verwenden:

    <code class="bash">python3 -c "import sys ; x = [print('rob') for r in range(10)][0]"</code>

    Dieser Ansatz verwendet Pythons Listenverständnissyntax, um die Schleife auszuführen und weisen Sie das erste Ergebnis x zu.

Das obige ist der detaillierte Inhalt vonWie führe ich mehrzeilige Befehle in einer einzeiligen Befehlszeile aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn