Python wird heutzutage für verschiedene Zwecke verwendet, ist aber auch nützlich, wenn Sie kleine Aufgaben wie Dateivorgänge automatisieren möchten!
[Lassen Sie Python die langweiligen Dinge tun](https://www.amazon.co.jp/%E9%80%80%E5%B1%88%E3%81%AA%E3%81%93%E3% 81% A8% E3% 81% AFPython% E3% 81% AB% E3% 82% 84% E3% 82% 89% E3% 81% 9B% E3% 82% 88% E3% 81% 86-% E2% 80 % 95% E3% 83% 8E% E3% 83% B3% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9E% E3% 83% BC % E3% 81% AB% E3% 82% 82% E3% 81% A7% E3% 81% 8D% E3% 82% 8B% E8% 87% AA% E5% 8B% 95% E5% 8C% 96% E5 % 87% A6% E7% 90% 86% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82 Es gibt sogar ein Buch namens% B0-Al-Sweigart / dp / 487311778X). ↑ Ich bin kein Partner (nur für den Fall)
In diesem Artikel werde ich Ihnen zeigen, wie Sie solchen Python-Code ausführen, als wäre es ein Befehl!
Dieses Mal folgen wir den Schritten beim Erstellen eines Befehls zum Anzeigen der Dateiliste "Dateiliste". (So etwas wie ls
)
Wenn Sie die Prozedur in einem Wort vorstellen möchten
** Geben Sie der Datei "Dateiliste", die den Python-Interpreter (`#! / Usr / bin / env python```) in Shebang angibt, die Ausführungsberechtigung und legen Sie die Datei im Pfad im gespeicherten Verzeichnis ab. Kann mit
Dateiliste``
ausgeführt werden. ** **.
Es ist wie es ist.
Der Implementierungsablauf ist unten dargestellt.
Es wird davon ausgegangen, dass Python bereits installiert ist und mit dem Befehl `` `python``` ausgeführt werden kann. Wenn Sie nach "Python Installation Linux" usw. suchen, werden verschiedene Methoden angezeigt. Bitte beziehen Sie sich darauf.
Erstellen Sie zunächst ein Skript, das ausgeführt werden soll. Erstellen Sie einen geeigneten Ordner und speichern Sie ihn darin.
mkdir ~/pycommands
cd ~/pycommands
vi filelist
#!/usr/bin/env python
import os
from pathlib import PATH
#Das Verzeichnis, in dem sich der Benutzer gerade befindet (os.getcwd()) Informationen bekommen
current_dir = PATH(os.getcwd())
# glob("*")Rufen Sie eine Liste der Dateien in dem Verzeichnis ab, in dem sich der Benutzer gerade befindet
for file in current_dir.glob("*"):
print(file)
Das Wichtigste hier ist das `#! / Usr / bin / env python``` in der ersten Zeile. Dies wird als ** Shebang ** bezeichnet und gibt an, was zur Interpretation des Inhalts der Datei verwendet werden soll. Da hier Python angegeben ist, wird der Python-Code auch dann ausgeführt, wenn er nicht als
`.py``` geschrieben ist.
(Wenn Sie in diesem Teil Ruby usw. angeben, können Sie auch Ruby-Code ausführen.)
Die soeben erstellte Datei "Dateiliste" ist noch keine Datei, die ausgeführt werden kann. Dazu müssen Sie der Datei ** Ausführungsberechtigungen ** erteilen.
Ausführungsberechtigung für eine Datei erteilen
chmod u+x ~/pycommands/filelist
Ausführen. (Es wird davon ausgegangen, dass "Dateiliste" unter "~ / pycommands /" erstellt wird. Wenn Sie sie an einem anderen Speicherort erstellen, ändern Sie den Befehl entsprechend.)
//qiita.com/shisama/items/5f4c4fa768642aad9e06)
In diesem Zustand kann die Ausführung selbst bereits durchgeführt werden.
An jedem Ort
```shell
~/pycommands/filelist
Wenn Sie den Befehl eingeben, sollte eine Liste der Dateien ausgegeben werden.
Im nächsten Schritt können Sie dies tun, indem Sie einfach "Dateiliste" eingeben.
Machen Sie es dann möglich, diesen Befehl von überall aus auszuführen.
Um einen Befehl an einem bestimmten Ort von überall ausführen zu können, muss die Umgebungsvariable PATH festgelegt werden.
Grob gesagt ist PATH "eine Liste von Orten, an denen Sie nach einer ausführbaren Datei mit diesem Namen suchen müssen, wenn Sie einen ** Befehl eingeben (wahrscheinlich) **".
ls
Wenn ich den Befehl eingebe, wird der Pfad für eine ausführbare Datei mit dem Namen "ls" aufgerufen und die gefundene Datei ausgeführt.
(Ich suche, während ich von vorne nacheinander auf die in PATH definierte Standortliste zugreife.)
Vorerst nur dieses Mal ausführen
export PATH='$PATH:$HOME/pycommands/'
Es ist in Ordnung, wenn Sie ausführen.
Um es die ganze Zeit benutzen zu können
echo export PATH='$PATH:$HOME/pycommands/' >> ~/.bashrc
source ~/.bashrc
Ist in Ordnung.
Wo auch immer du bist
filelist
Wenn Sie ausführen, wird eine Liste der Dateien angezeigt.
Wenn bereits ein Befehl mit demselben Namen vorhanden ist, ist der Befehl mit demselben Namen wie der in diesem Ablauf erstellte Befehl bereits vorhanden. Daher wird er zuerst im PATH gesucht und der erstellte Befehl wird nicht ausgeführt. (Weil ich am Ende von PATH ein Verzeichnis hinzugefügt habe)
Ändern Sie den Namen oder die Reihenfolge des Pfads so, dass er zuerst ausgeführt wird. (Nicht empfohlen)
Lassen Sie uns einen Befehl geben, um die Arbeit bequemer zu machen ^^
Recommended Posts