Le module OS en Python permet d'accéder aux 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 d'exploitation Python pour écrire des applications qui traitent des problèmes du monde réel. Ce guide présente certains des concepts de base et illustre comment utiliser la commande système Python.
Caractéristiques du système d'exploitation Python
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 avec 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, processus de frai, etc.
Premiers pas avec le module OS
La manière la plus simple d'explorer le module OS est d'utiliser l'interpréteur. Vous pouvez y importer le module et utiliser les fonctions système sans écrire de code source. Vous devez cependant installer 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 ouvert, importez le module OS en utilisant l'instruction suivante.
>>> importation du système d'exploitation
Vous pouvez désormais accéder aux fonctionnalités fournies par le module OS, y compris le Python système commander. Par exemple, vous pouvez déterminer la plate-forme du système à l'aide du Nom commander. L'exemple ci-dessous montre comment appeler les commandes système exposées par le module OS.
>>> nom_os
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 avec les informations sur l'architecture, la version et la version de la machine. Utilisez le getcwd fonction pour récupérer le répertoire de travail actuel.
>>> os.getcwd ()
Vous pouvez facilement modifier 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')
Le 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 ('nouveau-dir')
Utilisez le rmdir commande pour supprimer des répertoires de votre répertoire de travail.
>>> os.rmdir ('nouveau-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 le é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 les 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 utilisateur, vous pouvez faire quelque chose comme ce qui suit.
>>> cmd = 'gcc --version'
>>> os.system (cmd)
L'exemple ci-dessous exécute une simple commande shell qui crée un nouveau fichier appelé users.txt et le remplit avec tous les utilisateurs connectés. De nombreux programmes Python font ces choses.
>>> os.system ('utilisateurs> 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 appelle à 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 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.
>>> sous-processus d'importation
>>> 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. Que faire si vous souhaitez créer des dossiers imbriqués? Le système OS s'occupe également de cela pour nous les 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')
>>> imprimer (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 fichier1 fichier2 fichier3')
>>> os.listdir (os.environ ['ACCUEIL'])
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 isdir fonction du système d'exploitation si votre programme doit valider des fichiers ou des répertoires spécifiques.
>>> os.path.isfile ('fichier1')
>>> os.path.isdir ('fichier1')
Le module OS en 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)
>>> imprimer (dirname)
>>> imprimer (nom de base)
Utilisez le code ci-dessous pour extraire des extensions comme .txt ou .mp3 des noms de fichiers.
>>> nom de fichier, extension = os.path.splitext (nom de base)
>>> imprimer (nom de fichier)
>>> imprimer (extension)
Utilisation diverse du système d'exploitation Python
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 (user id) du processus en cours à l'aide du getuid fonction.
>>> os.getuid ()
>>> os.getgid ()
Le getgid La fonction renvoie l'ID de groupe du processus en cours. Utilisation getpid pour obtenir le PID (process id) et getppid pour obtenir l'ID du processus parent.
>>> os.getpid ()
>>> os.getppid ()
Vous pouvez également utiliser le module OS pour modifier les autorisations des fichiers et des répertoires à partir de votre programme Python. Utilisez le chmod fonction du système d'exploitation pour ce faire.
>>> os.chmod ('fichier1.txt', 0o444)
Cette commande modifie l'autorisation de file1.txt à 0444. Utilisation 0o444 au lieu de 0444 pour vous assurer que l'instruction est compatible avec les deux versions principales 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.
Prêt à faire passer votre codage Python au niveau supérieur? Il est temps de comprendre comment créer et utiliser des tuples.
- Programmation
- Python
Rubaiat est un diplômé CS passionné par l'open source. En plus d'être un vétéran d'Unix, il s'intéresse également à la sécurité réseau, à 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.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!
Un pas de plus…!
Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.