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 sonpath
à l’attribut spécifique du moduleos
. - Il injecte
sys.modules['os.path'] = path
afin que vous puissiez faireimport 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