Module os 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 les processus dans une certaine mesure.

Module OS Python

Les fonctions fournies par le module OS nous permettent de travailler sur des tâches sous-jacentes du système d’exploitation, indépendamment qu’il s’agisse d’une plate-forme Windows, Macintosh ou Linux. Dans cette leçon, nous passerons en revue ces fonctions et ce que nous pouvons en faire. Commençons notre voyage avec ces fonctions et les informations qu’elles offrent.

import os de Python

Veuillez noter qu’avant tout, nous devons importer le module OS dans notre programme, sinon nous ne pourrons pas exécuter ses fonctions.

os.name

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

>>> print(os.name)
posix

De toute évidence, cela peut produire des plates-formes différentes en fonction de l’interpréteur.

os.environ

environ n’est pas une fonction mais un paramètre de processus grâce auquel 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, voici le résultat: Nous pouvons l’utiliser pour travailler avec les variables d’environnement, en savoir plus sur Python set environment variable.

os.execvp

execvp est l’une des façons d’exécuter d’autres commandes sur le système. Voyons un extrait de code d’exemple 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 appelé hello.py avec le code suivant:

print('Hello')

Lorsque nous exécutons ce script, voici la sortie obtenue :

os.getuid

Cette fonction du module os retourne l’identifiant d’utilisateur ou UID du processus actuel, comme on le sait populairement.

>>> os.getuid()
501

Donc, l’ID du processus shell actuel est 501.

os.rename

Avec la fonction python os rename, 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 permissions correctes à notre script.

os.system

La fonction Python os system nous permet d’exécuter une commande dans le script Python, tout comme si je l’exécutais dans mon shell. 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 String en tant que ‘shubham’ car c’est ce que le shell d’origine renvoie également : Notez que c’est une commande très puissante et doit être utilisée avec prudence.

os.error

La classe d’erreur du module os de Python est la classe de base pour les erreurs liées à l’E/S. Ainsi, nous pouvons attraper 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’ID de processus actuel ou PID, comme il est communément connu.

>>> os.getpid()
71622

Ainsi, l’ID utilisateur du processus shell actuel est 71622.

os.listdir

Cette fonction répertorie simplement les fichiers et 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 itérable de noms de répertoires et de fichiers.

os.uname

Cette fonction renvoie des informations permettant d’identifier 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 plutôt détaillé en fait.

import os.path vs import os

os.path fonctionne de manière étrange en réalité. Il semble que os soit empaqueté avec un sous-module path, mais en réalité, os est un module normal qui opère avec sys.module pour prendre en charge os.path. Examinons ce qui se passe en coulisses:

  • Quand Python démarre, il charge de nombreux modules dans sys.module.
  • Le module os est également chargé au démarrage de Python. Il attribue 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 exploré diverses fonctions fournies par le module OS en Python et vu comment elles fonctionnent. Consultez davantage de leçons sur Python ici. Référence : Documentation API

Source:
https://www.digitalocean.com/community/tutorials/python-os-module