Recherche de site Web

Module os de Python


Le module OS de Python fournit des fonctions simples qui nous permettent d'interagir et d'obtenir des informations sur le système d'exploitation, et même de contrôler des processus dans une certaine mesure.

Module OS de Python

Le module de fonctions OS nous permet d'opérer sur les tâches sous-jacentes du système d'exploitation, qu'il s'agisse d'une plateforme Windows, Macintosh ou Linux. Dans cette leçon, nous allons examiner ces fonctions et ce que nous pouvons faire avec elles. Commençons notre voyage avec ces fonctions et les informations qu'elles offrent.

Python importer os

Veuillez noter qu'abord nous devons importer le module OS dans notre programme, seulement après cela nous pouvons exécuter l'une de ses fonctions.

nom du système d'exploitation

Cette fonction donne le nom du module OS qu'elle importe. Cela varie en fonction du système d'exploitation sous-jacent. Actuellement, elle enregistre 'posix', 'os2', 'ce', 'nt', 'riscos' et 'java'. Exécutons cela sur le système :

>>> print(os.name)
posix

Clairement, cela peut produire différentes plateformes en fonction de l'interpréteur.

os.environ

environ n'est pas une fonction mais un paramètre de processus par lequel nous pouvons accéder aux variables d'environnement du système. Voyons un extrait de code d'exemple :

import os
output = os.environ['HOME']
print(output)

Lorsque nous exécutons ce script, la sortie suivante sera :

Nous pouvons l'utiliser pour travailler avec les variables d'environnement, lisez-en plus sur la définition des variables d'environnement en Python.

os.execvp

execvp est l'une des façons d'exécuter d'autres commandes sur le système. Voyons un exemple de code pour cette fonction :

import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) +  tuple(arguments)))

Pour cela, nous avons simplement créé un script d'exemple nommé hello.py avec le code suivant :

print('Hello')

Lorsque nous exécutons ce script, le résultat suivant sera :

os.getuid

Cette fonction du module os renvoie l'ID utilisateur ou UID du processus actuel, comme il est populairement connu.

>>> os.getuid()
501

Donc, l'identifiant du processus shell actuel est 501.

os.rename

Avec la fonction de renommage os de Python, nous pouvons facilement renommer un fichier.

import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')

Notez que pour cela, nous devons fournir les autorisations correctes à notre script.

os.system

La fonction système de Python permet d'exécuter une commande dans le script Python, tout comme si je l'exécutais dans mon terminal. Par exemple :

import os
currentFiles = os.system("users > users.txt")

Lorsque j'ai exécuté ce script, un nouveau fichier a été créé dans le même répertoire avec le nom users.txt et le contenu de la chaîne 'shubham', comme cela est également renvoyé par le shell d'origine :

Notez que c'est une commande très puissante et qu'elle doit être utilisée avec précaution.

erreur.os

La classe d'erreur du module os en Python est la classe de base pour les erreurs liées aux opérations d'entrée/sortie. Ainsi, nous pouvons intercepter les erreurs d'E/S en utilisant OSError dans la clause except.

import os

try:
    f = open('abc.txt', 'r')  # file is missing
except OSError:
    print('Error')

os.getpid

Cette fonction renvoie l'identifiant de processus actuel ou PID, comme il est couramment appelé.

>>> os.getpid()
71622

Donc, l'ID utilisateur du processus shell actuel est 71622.

os.listdir

Cette fonction énumère simplement les fichiers et les répertoires présents dans le répertoire de travail actuel.

>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']

Elle renvoie une liste iterable de noms de répertoires et de fichiers.

os.uname

Cette fonction retourne des informations qui identifient le système d'exploitation actuel sur lequel elle est exécutée.

>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')

C'était assez détaillé en fait.

importer os.path vs importer os

os.path fonctionne en fait de manière étrange. On dirait que os est un paquetage avec un sous-module path, mais en réalité, os est un module normal qui fonctionne avec sys.module pour prendre en charge os.path. Voyons ce qui se passe en coulisses :

  • Lorsque Python démarre, il charge de nombreux modules dans sys.module.
  • Le module os est également chargé lorsque Python démarre. Il assigne son path à l'attribut spécifique du module os.
  • Il injecte sys.modules['os.path']=path afin que vous puissiez faire import os.path comme s'il s'agissait d'un sous-module.

Résumé

Dans cette leçon, nous avons lu sur diverses fonctions fournies par le module OS en Python et vu comment elles fonctionnent. Consultez d'autres leçons sur Python ici. Référence : Document API