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
osest également chargé lorsque Python démarre. Il assigne sonpathà l'attribut spécifique du moduleos. - Il injecte
sys.modules['os.path']=pathafin que vous puissiez faireimport os.pathcomme 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




