Module Python OS

Module Python OS

Introduction

Python est une puissante langue de script. Alors, pourquoi ne pas l'utiliser pour scripter Linux? Le OS Le module est la réponse de Python à la gestion de nombreuses opérations de fichiers Linux.

Le OS Le module permet à Python d'effectuer de nombreuses opérations de fichiers et de dossiers que vous effectuez généralement dans la ligne de commande Linux. Cela vous permet de commencer à échanger Bash contre Python, ce qui rend une expérience de script beaucoup plus propre et plus conviviale.

Chargement OS

Le OS Le module est un module Python comme tout autre. Dans n'importe quel script où vous souhaitez l'utiliser, vous pouvez utiliser une instruction d'importation pour le tirer.

Importer un système d'exploitation

getCwd ()

Le getCwd () La méthode renvoie le répertoire de travail actuel sous la forme d'une chaîne. Tu n'as pas besoin de le passer quoi que ce soit. C'est à peu près l'équivalent de PWD.

imprimer (OS.getCwd ())

chdir ()

chdir () est l'équivalent python de CD. Appelez la méthode et passez-la dans le répertoire que vous souhaitez changer en tant que chaîne.

OS.chdir ('/ home / utilisateur / documents')

Il prend également en charge l'utilisation de chemins relatifs comme CD.

OS.chdir ('… / téléchargements')


listDir ()

En utilisant listDir () est très similaire à la course LS bas. Il y a une grande différence, cependant, la valeur de retour.

Au lieu d'imprimer le contenu du répertoire, vous les recevez comme une liste.

téléchargement_list = os.ListDir ('Downloads') Print (Download_list) 

Encore une fois, vous pouvez spécifier le répertoire, ou il lira le contenu du répertoire actuel.

mkdir () et makedirs ()

Ces deux sont exactement ce que vous vous attendez à ce qu'ils soient. mkdir () Fonctionne très similaire à la commande Linux que vous connaissez. Dans ce cas, il peut prendre un deuxième paramètre pour spécifier les autorisations.

OS.MKDIR ('TestDir', 755)

Le Makedirs () La méthode fonctionne de la même manière, mais peut créer des répertoires récursivement les uns dans les autres, éliminant la nécessité d'exécuter mkdir () plusieurs fois.

OS.Makedirs ('testdir2 / quelque chose / quelque chose delse', 755)

Encore une fois, vous pouvez spécifier les autorisations, si vous le souhaitez.

chmod ()

C'est encore une fois un équivalent simple à son homologue traditionnel. chmod () pour Python prend deux arguments. Le premier est le répertoire à changer, et le second est les autorisations pour changer en.

OS.chmod ('test', 774)

chown ()

Vous pouvez également changer la propriété avec Python. chown () est la façon dont vous le faites. La méthode est très similaire à la commande Linux, mais elle nécessite des ID d'utilisateur et de groupe pour fonctionner.

OS.Chown («test», 1000, 1000)

Cette commande modifiera la propriété du répertoire «test» à l'utilisateur avec un ID de 1000 et le groupe avec un ID de 1000.



retirer () et supprimer ()

retirer() supprime un seul fichier qu'il est passé. Vous pouvez également le transmettre le chemin complet du fichier.

OS.supprimer ('/ home / utilisateur / téléchargements / somefile')

Pour supprimer les répertoires, utilisez le supprimé () méthode. Il supprimera le répertoire spécifié et tout son contenu.

OS.supprime ('test_dir')

système()

Ainsi, la dernière méthode ici est la plus puissante et la plus dangereuse. Le système() La méthode est de la triche. Il vous permet d'exécuter n'importe quelle commande System Linux que vous y transmettez.

Il y a quelques préoccupations ici. Tout d'abord, pour exécuter la méthode, Python ouvre sa propre console. En utilisant système() Trop est inefficace et peut gêner les ressources. Plus important, système() peut exécuter n'importe quoi. Cela signifie qu'il peut faire de graves dégâts. Si vous allez utiliser système() l'utiliser avec parcimonie et dans des circonstances contrôlées.

Essayez d'exécuter une commande via système().

imprimer (OS.système (ls -lah))

Vous pouvez également obtenir une sorte de créativité avec lui et même pipe ensemble des commandes comme vous le feriez dans un terminal normal.

imprimer (OS.Système (PS Aux | Grep Firefox))

Si vous avez Firefox en cours d'exécution, la commande trouvera le processus et imprimera des informations à ce sujet.

Réflexions de clôture

Vous avez fait le premier pas vers le script de votre système Linux avec Python. Il y a plus d'outils que Python propose, et les choses deviennent très compliquées dans cet espace. Les outils d'automatisation populaires comme ANSIBLE et le sel sont faits avec Python, donc il n'y a vraiment pas de limite à ce qu'il peut faire.

Des exercices

  1. Imprimez votre répertoire actuel à l'aide de Python.
  2. Se transformer en un autre répertoire et imprimer celui-là.
  3. Créez une boucle qui itère sur le contenu d'un répertoire et imprime chacun individuellement.
  4. Créez un nouveau répertoire avec un répertoire à l'intérieur et un autre un pas vers le bas.
  5. Changez les autorisations de votre nouveau répertoire afin que le propriétaire puisse lire l'écriture et l'exécution, et tout le monde ne peut lire et exécuter que.
  6. Supprimer les deux sous-répertoires.
  7. Utilisez Python pour créer un fichier texte qui répertorie tous les processus que votre utilisateur exécute actuellement.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment créer des swapiles dans Ubuntu et Mint
  • Dossier zip dans Linux
  • Masterring Bash Script Loops
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Boucles imbriquées dans les scripts bash
  • Téléchargement Linux
  • Choses à installer sur Ubuntu 22.04