Python est utilisé à diverses fins ces jours-ci, mais il est également utile lorsque vous souhaitez automatiser de petites tâches telles que les opérations sur les fichiers!
[Laissez Python faire les choses ennuyeuses](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 Il existe même un livre intitulé% B0-Al-Sweigart / dp / 487311778X). ↑ Je ne suis pas affilié (juste au cas où)
Dans cet article, je vais vous montrer comment exécuter un tel code Python comme s'il s'agissait d'une commande!
Cette fois, nous suivrons les étapes lors de la création d'une commande pour afficher la liste des fichiers, filelist```. (Quelque chose comme
ls '')
Si vous souhaitez présenter la procédure en un mot
** Donnez l'autorisation d'exécution au fichier "filelist" qui spécifie l'interpréteur python (
#! / Usr / bin / env python```) dans Shebang, et passez le PATH au répertoire enregistré, et ce fichier Peut être exécuté avec `filelist
`. ** **
C'est comme ça.
Le flux de mise en œuvre est illustré ci-dessous.
On suppose que Python est déjà installé et peut être exécuté avec la commande
python```.
Si vous recherchez "python installation linux" etc., diverses méthodes apparaîtront, donc veuillez vous y référer.
Commencez par créer un script à exécuter. Créez un dossier approprié et enregistrez-le dedans.
mkdir ~/pycommands
cd ~/pycommands
vi filelist
#!/usr/bin/env python
import os
from pathlib import PATH
#Le répertoire où se trouve actuellement l'utilisateur (os.getcwd()) Obtenir des informations
current_dir = PATH(os.getcwd())
# glob("*")Obtenez une liste de fichiers dans le répertoire où se trouve actuellement l'utilisateur
for file in current_dir.glob("*"):
print(file)
L'important ici est le #! / Usr / bin / env python '' sur la première ligne. Cela s'appelle ** Shebang ** et spécifie ce qu'il faut utiliser pour interpréter le contenu du fichier. Puisque Python est spécifié ici, le code Python sera exécuté même s'il n'est pas écrit en tant que
.py```.
(Si vous spécifiez Ruby etc. dans cette partie, vous pouvez également exécuter du code Ruby.)
Le fichier "filelist" que vous venez de créer n'est pas un fichier qui peut encore être exécuté. Pour ce faire, vous devez donner au fichier ** les autorisations d'exécution **.
Pour donner l'autorisation d'exécution à un fichier
chmod u+x ~/pycommands/filelist
Éxécuter.
(On suppose que "filelist" est créé sous
~ / pycommands / `` `. Si vous le créez dans un emplacement différent, modifiez la commande comme il convient.)
//qiita.com/shisama/items/5f4c4fa768642aad9e06)
Dans cet état, l'exécution elle-même peut déjà être effectuée.
À n'importe quel endroit
```shell
~/pycommands/filelist
Lorsque vous entrez la commande, une liste de fichiers doit être sortie.
Dans l'étape suivante, vous pouvez le faire en tapant simplement
filelist```.
Ensuite, permettez d'exécuter cette commande de n'importe où.
Afin de pouvoir exécuter une commande située à un certain emplacement de n'importe où, il est nécessaire de définir la variable d'environnement PATH.
En gros, PATH est "une liste d'endroits où aller pour rechercher un fichier exécutable avec ce nom lorsque vous entrez une ** commande (chose probable) **".
ls
Lorsque j'entre dans la commande, elle accède au chemin d'un fichier exécutable nommé "ls" et exécute le fichier trouvé.
(Je recherche en accédant à la liste des emplacements définis dans PATH un par un à partir de l'avant.)
Pour le moment, à exécuter seulement cette fois
export PATH='$PATH:$HOME/pycommands/'
Ce n'est pas grave si vous exécutez.
Pour pouvoir l'utiliser tout le temps
echo export PATH='$PATH:$HOME/pycommands/' >> ~/.bashrc
source ~/.bashrc
Est OK.
Où que tu sois
filelist
Si vous exécutez, une liste de fichiers s'affiche.
Si une commande avec le même nom existe déjà, la commande avec le même nom que celle créée dans ce flux existe déjà, elle sera donc recherchée en premier dans le PATH et la commande créée ne sera pas exécutée. (Parce que j'ai ajouté un répertoire à la fin de PATH)
Changez le nom ou changez l'ordre du PATH afin qu'il soit exécuté en premier. (Non recommandé)
Faisons une commande pour rendre le travail plus pratique ^^
Recommended Posts