Wenn Sie einen UNIX-Befehl in Python ausführen möchten

Überblick

Für diejenigen, die Mac-Terminalbefehle in Python stapelweise ausführen möchten

Umgebung

· Mac OS Sierra 10.12.1 ・ Python 3.5.2

Weise

import subprocess
subprocess.call(["command"])

nur das

Anwendungsbeispiel

import subprocess

# hello.Erstellen Sie txt, der Inhalt ist leer
subprocess.call(["touch", "hello.txt"]) # --1

# hello.Schreiben Sie Hallo Welt zu txt
subprocess.call(["echo hello world > hello.txt"], shell = True) # --2

Es gibt zwei Möglichkeiten, es zu schreiben. Im Fall von 1 oben wird das Leerzeichen in UNIX durch "," getrennt. Die zweite besteht darin, dem ersten Argument eine Zeichenfolge zu geben und shell = True zu setzen.

Standardmäßig ist es "shell = False" und es wird nicht empfohlen, da es eine Aussage gibt, dass das Setzen auf "True" eine Sicherheitsbedrohung darstellt. Im Moment, wenn ich versuche, einen Befehl wie 2 mit dem Schreibstil 1 auszuführen, weiß ich nicht, wie ich ihn lösen soll, da nur die Zeichen auf dem Terminal kopiert werden.

Fehler: Wenn ein Segmentierungsfehler auftritt

Als ich zum ersten Mal versuchte, es auszuführen, wurde die Fehlermeldung "Segmentierungsfehler" angezeigt. Ich habe es nicht verstanden, auch wenn ich es gegoogelt habe, und als ich es mit Python3 ausprobiert habe, hat es funktioniert. Wenn Sie python3 installiert haben, können Sie es ausführen, indem Sie "python3 index.py" eingeben. Wenn also dasselbe Phänomen auftritt, führen Sie es bitte aus.

Referenz

Recommended Posts

Wenn Sie einen UNIX-Befehl in Python ausführen möchten
Wenn Sie in der for-Anweisung plt.save möchten
Drücken Sie einen Befehl in Python (Windows)
Wenn Sie python2.x unter modernem Gentoo Linux verwenden möchten
[Unterprozess] Wenn Sie ein anderes Python-Programm in Python-Code ausführen möchten
Beachten Sie, was Sie getan haben, um Flycheck mit Python zu verwenden
Ich möchte wissen, ob Sie Python auf Mac ・ Iroha installieren
Wenn Sie eine mehrdimensionale Liste nach mehreren Zeilen sortieren möchten
Wenn Sie eine Linie für eine lange Zeit brechen möchten
Wenn Sie mehrere Zeichen in einer Zeichenfolge ersetzen möchten, ohne reguläre Ausdrücke in der Python3-Serie zu verwenden
Dinge, auf die Sie beim Erstellen einer Python-Umgebung auf einem Mac achten sollten
Ein Gist-Repository, das Sie verwenden können, wenn Sie es mit ansible ausprobieren möchten
Wenn Sie eine Spalte spaltenweise durch einen fehlenden Wert (NaN) ersetzen möchten
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Wrapper, wenn Sie utf-8 + ansi color in der Windows-Konsole ausgeben möchten
Wenn Sie Word Cloud erstellen möchten.
Wenn Sie den Chrome-Treiber aktualisieren möchten.
Python Hinweis: Wenn Sie einer Zeichenfolge einen Wert zuweisen
Wie man sich erinnert, wenn man ein Wort vergisst
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
Ich möchte mit Python in eine Datei schreiben
So schreiben Sie Umgebungsvariablen, die Sie nicht in [GitHub] Python einfügen möchten
Wenn Sie eine TODO-Anwendung (verteilt) jetzt nur mit Python erstellen möchten
Verwalten von Argumenten beim Implementieren eines Python-Skripts als Befehlszeilentool
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Wenn Sie einen Discord-Bot mit Python erstellen möchten, verwenden wir ein Framework
Was tun, wenn Sie Dateien remote von einem Windows-Client empfangen möchten?
[Python3] Code, der verwendet werden kann, wenn Sie ein Bild in einer bestimmten Größe ausschneiden möchten
Umgang mit "^ [[A ^ [[B ^ [[C ^ [[D"]] beim Drücken der Richtungstaste beim Ausführen von Python auf dem Mac
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte, dass DQN Puniki einen Homerun macht
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Einstellungen, wenn Sie Python-Mecab mit Travis ausführen möchten
Yum-Befehl zum Zugriff auf MySQL mit Python 3 unter Linux
Ich möchte ein beliebtes Paket auf PyPi finden
Ich möchte eine Datei mit Python zufällig testen
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Wenn Sie mit dem Django REST-Framework filtern möchten
Ich möchte mit einem Roboter in Python arbeiten.
Beachten Sie beim Initialisieren einer Liste in Python
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte Lambda mit Python auf Mac AWS!
So führen Sie einen Befehl mit einem Unterprozess in Python aus
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte am Ende etwas mit Python machen
Eine Geschichte, die beim Versuch, die Python-Version mit GCE zu aktualisieren, hängen blieb
[Django] Drücken Sie einen Befehl, den Sie in dem Prozess ausgeführt haben, der auf manage.py ausgeführt wird.
Übergeben von Argumenten beim Aufrufen von Python-Skripten über Blender in der Befehlszeile
[Linux] Wenn Sie aus mehreren Dateien nach einer bestimmten Zeichenfolge suchen möchten
Eine kleine Geschichte, die beim Schreiben von Twilio-Anwendungen mit Python auf AWS Lambda süchtig macht
[Python] Wenn Sie plötzlich ein Anfrageformular erstellen möchten