Qu'est-ce que le module OS de Python et comment l'utilisez-vous ?

Qu'est-ce que le module OS de Python et comment l'utilisez-vous ?

Le module OS de Python donne accès à des fonctions spécifiques au système pour gérer le système de fichiers, les processus, le planificateur, etc. Vous devez maîtriser le système Python OS pour écrire des applications qui traitent des problèmes du monde réel. Ce guide traite de certains des concepts de base et illustre l'utilisation de la commande système Python.





Caractéristiques du système Python OS

Le système d'exploitation sert de moyen portable d'interagir avec le système d'exploitation sous-jacent. Il offre un accès aux noms de fichiers, aux arguments de ligne de commande, aux variables d'environnement, aux paramètres de processus et à la hiérarchie du système de fichiers, ainsi que d'autres fonctionnalités.





Ce module contient également deux sous-modules, le module os.sys et le module os.path. Vous pouvez utiliser les fonctions fournies par le module OS pour effectuer un large éventail de tâches. Certains usages courants incluent l'exécution de commandes shell, la gestion de fichiers et de répertoires, la génération de processus, etc.





Premiers pas avec le module OS

Le moyen le plus simple d'explorer le module OS est de passer par l'interpréteur. Vous pouvez y importer le module et utiliser les fonctions système sans écrire de code source. Vous devez cependant avoir installé Python pour cela. Alors allez-y et installez Python sur votre machine locale.

En rapport: Comment installer Python sur Ubuntu



Démarrez l'interpréteur en tapant python dans votre terminal ou shell de commande. Une fois qu'il est ouvert, importez le module OS en utilisant l'instruction suivante.

comment vérifier si mon téléphone est piraté
>>> import os

Vous pouvez désormais accéder aux fonctionnalités fournies par le module OS, dont le Python système commander. Par exemple, vous pouvez déterminer la plate-forme système à l'aide de la Nom commander. L'exemple ci-dessous montre comment appeler les commandes système exposées par le module OS.





>>> os.name

Cette fonction vérifie si certains modules spécifiques au système d'exploitation sont présents et détermine la plate-forme en fonction de cela. Utilisez le ton nom fonction pour obtenir des informations détaillées.

>>> os.uname()

Cette commande affiche la plate-forme système exacte ainsi que les informations sur l'architecture, la version et la version de la machine. Utilisez le obtenir fonction pour récupérer le répertoire de travail courant.





>>> os.getcwd()

Vous pouvez facilement changer le répertoire de travail à l'aide de la commande système Python chdir . Transmettez le nouvel emplacement en tant que paramètre de chaîne.

>>> os.chdir('/tmp')

Les mkdir La fonction du module OS facilite la création de nouveaux répertoires. Cela nous permet également de créer des dossiers récursifs, ce qui signifie que Python créera tous les répertoires manquants qui sont les parents du répertoire feuille.

>>> os.mkdir('new-dir')

Utilisez le rmdir commande pour supprimer des répertoires de votre répertoire de travail.

>>> os.rmdir('new-dir')

Exemples de commande système Python

La commande système fournie par le module OS permet aux programmeurs d'exécuter des commandes shell. Assurez-vous de définir le nom de la commande sous forme de chaîne. Une fois que vous appelez le python système commande, il exécutera la commande donnée dans un nouveau sous-shell.

>>> cmd = 'date'
>>> os.system(cmd)

Vous pouvez exécuter d'autres applications autonomes en utilisant cette même méthode. L'exemple suivant exécute l'éditeur de terminal nano à partir de votre shell Python.

>>> cmd = 'nano'
>>> os.system(cmd)

Le système Python OS génère également le code de retour pour chaque commande en cours d'exécution. Les systèmes POSIX renvoient 0 pour une exécution réussie et des valeurs différentes de zéro pour indiquer des problèmes.

Vous pouvez utiliser le système d'exploitation en Python pour exécuter tout ce que vous voulez. Par exemple, si votre programme a besoin de lire les informations de version d'un programme sur la machine de l'utilisateur, vous pouvez procéder comme suit.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

L'exemple ci-dessous exécute une simple commande shell qui crée un nouveau fichier appelé utilisateurs.txt et le remplit avec tous les utilisateurs connectés. Beaucoup de programmes Python font ces choses.

>>> os.system('users > test')

Nous transmettons le nom de la commande au système d'exploitation sous forme de chaîne. Vous pouvez utiliser tous les types de commandes de terminal utiles de la même façon.

>>> os.system('ping -c 3 google.com')

Vous pouvez aussi utiliser sous-processus appels pour exécuter des commandes système à partir de Python. Cela offre plusieurs avantages supplémentaires, notamment une exécution plus rapide, une meilleure gestion des erreurs, une analyse de la sortie et des commandes shell de canalisation. La documentation officielle de Python recommande également l'appel de sous-processus sur des modules plus anciens comme os.system et os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Gestion des fichiers et des répertoires via le module OS

Nous avons montré comment créer des fichiers et des répertoires simples à l'aide du module Python OS. Et si vous voulez créer des dossiers imbriqués ? Le système d'exploitation s'en charge également pour nous, programmeurs. Par exemple, les extraits ci-dessous créent le dossier $HOME/test/root/api . Il créera également les répertoires parents nécessaires s'ils ne sont pas disponibles.

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

Tout d'abord, nous avons récupéré le répertoire personnel en utilisant environ puis rejoint les noms de dossier via os.path.join . L'instruction d'impression affiche le nom du dossier et makedirs le crée.

Nous pouvons afficher le nouveau répertoire en utilisant le listdir méthode du module OS.

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

Vous pouvez facilement renommer le répertoire api en utilisant le Renommer commande offerte par le module OS. L'instruction ci-dessous renomme ce répertoire api en test-api.

>>> os.rename('api', 'test-api')

Utilisez le isfile et Nom fonction du système d'exploitation si votre programme doit valider des fichiers ou des répertoires spécifiques.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

Le module OS de Python permet également aux développeurs d'extraire les noms de fichiers et de dossiers avec les extensions de fichiers. Les extraits ci-dessous illustrent l'utilisation de os.path.split et os.path.splitext à cet égard.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Utilisez le code ci-dessous pour extraire les extensions telles que .txt ou .mp3 des noms de fichiers.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

Divers Utilisation du système Python OS

Le module OS offre de nombreuses fonctions supplémentaires pour manipuler des éléments tels que les processus utilisateur et le planificateur de travaux. Par exemple, vous pouvez obtenir rapidement l'UID (ID utilisateur) du processus en cours en utilisant le témoin fonction.

>>> os.getuid()
>>> os.getgid()

Les getgid La fonction renvoie l'identifiant de groupe du processus en cours d'exécution. Utilisation getpid pour obtenir le PID (process id) et getppid pour obtenir l'identifiant du processus parent.

>>> os.getpid()
>>> os.getppid()

Vous pouvez également utiliser le module OS pour modifier les autorisations des fichiers et des répertoires de votre programme Python. Utilisez le chmod fonction du système d'exploitation pour ce faire.

>>> os.chmod('file1.txt', 0o444)

Cette commande modifie l'autorisation de fichier1.txt à 0444 . Utilisation 0o444 à la place de 0444 pour vous assurer que la déclaration est compatible avec les deux versions majeures de Python.

Exploitez la puissance du système d'exploitation Python

Le module OS de Python fournit tout ce dont vous avez besoin pour interagir avec le système d'exploitation sous-jacent. Une compréhension claire du système d'exploitation est nécessaire pour écrire des programmes véritablement multiplateformes. Nous avons couvert certaines des fonctionnalités de base fournies par ce module pour vous aider à démarrer. Essayez-les à votre rythme et n'oubliez pas de les bricoler.

Partager Partager Tweeter E-mail Comment créer et utiliser des tuples en Python

Prêt à faire passer votre codage Python au niveau supérieur ? Il est temps de comprendre comment créer et utiliser des tuples.

Lire la suite
Rubriques connexes
  • La programmation
  • Python
A propos de l'auteur Rubaïat Hossain(39 articles publiés)

Rubaiat est diplômé en informatique et passionné par l'open source. En plus d'être un vétéran d'Unix, il s'intéresse également à la sécurité des réseaux, à la cryptographie et à la programmation fonctionnelle. Il est un collectionneur passionné de livres d'occasion et a une admiration sans fin pour le rock classique.

Plus de Rubaiat Hossain

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner