Créez vos propres commandes Linux en Python

À propos de cet article

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!

procédure

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.

0. Prémisse

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.

1. Créez un script

Commencez par créer un script à exécuter. Créez un dossier approprié et enregistrez-le dedans.

  1. Créez un répertoire "pycommands" dans votre répertoire personnel
mkdir ~/pycommands
  1. Accédez au répertoire "py commands"
cd ~/pycommands
  1. Créez un fichier "filelist" et accédez à l'écran d'édition
vi filelist
  1. Editez le fichier "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.)

2. Autorité d'exécution de l'octroi

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```.

3. Passer par PATH

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) **".

lsLorsque 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.

4. Courez!

Où que tu sois

filelist

Si vous exécutez, une liste de fichiers s'affiche.

Si non exécuté

Il existe déjà une commande du même nom

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é)

Résumé

Faisons une commande pour rendre le travail plus pratique ^^

Recommended Posts

Créez vos propres commandes Linux en Python
[LLDB] Créez votre propre commande avec Python
Créez votre propre Big Data en Python pour validation
Créez votre propre stéréogramme aléatoire (RDS) en Python.
[Python] journalisation dans votre propre module
Utilisez facilement vos propres fonctions en Python
Obtenez votre propre adresse IP en Python
Créez votre propre classe de structure graphique et son dessin avec python
Créez votre propre exception
Créer Spatia Lite en Python
Importez vos propres modules avec le développement Python de Grasshopper
Créer un package contenant des commandes globales en Python
Mémo pour créer votre propre Box avec le Python de Pepper
Créer une fonction en Python
Créer un dictionnaire en Python
Prenez votre propre utilisation maximale de la mémoire sous Linux et Python
Essayez d'améliorer votre propre quiz d'introduction avec Python
Exécuter des commandes shell en Python
[Blender x Python] Créez votre propre fonction et résumé jusqu'à présent
Utilisez CASA Toolkit dans votre propre environnement Python
Créez votre premier fichier GDSII en Python en utilisant gdspy
Créez votre propre middleware Django
[Road to Intermediate Python] Définissez dans votre propre classe
Essayez de trier vos propres objets avec des files d'attente prioritaires en Python
[Python] Créez votre propre bot LINE
Rechercher des commandes externes avec python
Créez votre propre manuel. [Linux] [homme]
8 commandes fréquemment utilisées dans Python Django
Créer un conteneur DI avec Python
Gérer les dates dans les commandes bash Linux
Créer un fichier binaire en Python
Créez Gmail en Python sans utiliser l'API
[Linux] [module du noyau] Créer kthread dans le module du noyau
Créez votre propre service de résolution de noms
[Django] Créez votre propre page d'erreur 403, 404, 500
Créer une documentation de projet Python dans Sphinx
Créer une chaîne aléatoire en Python
Créer et lire des paquets de messages en Python
Commande Linux
commandes linux
Essayez docker: créez votre propre image de conteneur pour une application Web Python
Commande Linux
Créez wordcloud à partir de votre tweet avec python3
Créer ScriptableObject en Python lors de la construction d'ADX2
Trouver des fichiers comme Linux Find en Python
[Linux] Liste des commandes Linux utilisées dans la pratique
Créez votre propre serveur DNS avec Twisted
Créez un environnement python sur votre Mac
[Python] Empaquetez et distribuez vos propres modules
Créer une application GUI simple en Python
Créez votre propre valeur composite avec SQLAlchemy
Créer des pièces de concepteur Qt avec Python (PyQt)
[Python] Enregistrez votre propre bibliothèque dans PyPI
Jusqu'à ce que vous installiez votre propre bibliothèque Python