Le Module du système d'exploitation en Python fournit des fonctions pour interagir avec le système d’exploitation. Le système d’exploitation relève des modules utilitaires standard de Python. Ce module fournit un moyen portable d'utiliser les fonctionnalités dépendantes du système d'exploitation.
Le *os* et *os.path* les modules incluent de nombreuses fonctions pour interagir avec le système de fichiers.
Fonctions du module Python-OS
Nous discuterons ici de quelques fonctions importantes du module Python os :
- Gestion du répertoire de travail actuel
- Création d'un répertoire
- Liste des fichiers et des répertoires avec Python
- Suppression d'un répertoire ou de fichiers à l'aide de Python
Gestion du répertoire de travail actuel
Considérer Répertoire de travail actuel (CWD) en tant que dossier, dans lequel Python fonctionne. Chaque fois que les fichiers sont appelés uniquement par leur nom, Python suppose qu'ils démarrent dans le CWD, ce qui signifie que la référence par nom uniquement ne réussira que si le fichier se trouve dans le CWD de Python.
Note: Le dossier dans lequel le script Python est exécuté est appelé répertoire actuel. Ce n'est pas le chemin où se trouve le script Python.
Obtenir le répertoire de travail actuel
Pour obtenir l'emplacement du répertoire de travail actuel os.getcwd() est utilisé.
Exemple: Ce code utilise le ' os'> module pour obtenir et imprimer le répertoire de travail actuel (CWD) du script Python. Il récupère le CWD en utilisant le ' os.getcwd()'> puis l'imprime sur la console.
import os cwd = os.getcwd() print('Current working directory:', cwd)> Sortir:
Current working directory: /home/nikhil/Desktop/gfg>
Changer le répertoire de travail actuel
Pour changer le répertoire de travail actuel (CWD) os.chdir() méthode est utilisée. Cette méthode modifie le CWD vers un chemin spécifié. Il ne prend qu'un seul argument comme nouveau chemin de répertoire.
Note: Le répertoire de travail actuel est le dossier dans lequel le script Python fonctionne.
Exemple: Le code vérifie et affiche le répertoire de travail actuel (CWD) deux fois : avant et après avoir modifié le répertoire d'un niveau en utilisant os.chdir('../')> . Il fournit un exemple simple de la façon de travailler avec le répertoire de travail actuel en Python.
import os def current_path(): print('Current working directory before') print(os.getcwd()) print() current_path() os.chdir('../') current_path()> Sortir:
Current working directory before C:UsersNikhil AggarwalDesktopgfg Current working directory after C:UsersNikhil AggarwalDesktop>
Création d'un répertoire
Il existe différentes méthodes disponibles dans le module OS pour créer un répertoire. Ceux-ci sont -
- os.mkdir()
- os.makedirs()
Utiliser os.mkdir()
En utilisant os.mkdir() La méthode en Python est utilisée pour créer un répertoire nommé chemin avec le mode numérique spécifié. Cette méthode déclenche FileExistsError si le répertoire à créer existe déjà.
Exemple: Ce code crée deux répertoires : techcodeview.com au sein du D:/Projets Python/ répertoire et Geeks au sein du D:/Projets Python annuaire.
- Le premier répertoire est créé à l'aide du
os.mkdir()>méthode sans spécifier le mode. - Le deuxième répertoire est créé selon la même méthode, mais un mode spécifique (
0o666>) est fourni, ce qui accorde des autorisations de lecture et d'écriture. - Le code imprime ensuite des messages pour indiquer que les répertoires ont été créés.
import os directory = 'techcodeview.com' parent_dir = 'D:/Pycharm projects/' path = os.path.join(parent_dir, directory) os.mkdir(path) print('Directory '% s' created' % directory) directory = 'Geeks' parent_dir = 'D:/Pycharm projects' mode = 0o666 path = os.path.join(parent_dir, directory) os.mkdir(path, mode) print('Directory '% s' created' % directory)> Sortir:
Directory 'techcodeview.com' created Directory 'Geeks' created>
Utiliser os.makedirs()
os.makedirs() La méthode en Python est utilisée pour créer un répertoire de manière récursive. Cela signifie que lors de la création du répertoire feuille, si un répertoire de niveau intermédiaire est manquant, la méthode os.makedirs() les créera tous.
Exemple: Ce code crée deux répertoires, Nikhil et c , dans différents répertoires parents. Il utilise leos.makedirs>fonction pour garantir que les répertoires parents sont créés s’ils n’existent pas.
Il définit également les autorisations pour le c annuaire. Le code imprime des messages pour confirmer la création de ces répertoires
Python import os directory = 'Nikhil' parent_dir = 'D:/Pycharm projects/GeeksForGeeks/Authors' path = os.path.join(parent_dir, directory) os.makedirs(path) print('Directory '% s' created' % directory) directory = 'c' parent_dir = 'D:/Pycharm projects/techcodeview.com/a/b' mode = 0o666 path = os.path.join(parent_dir, directory) os.makedirs(path, mode) print('Directory '% s' created' % directory)> Sortir:
Directory 'Nikhil' created Directory 'c' created>
Liste des fichiers et des répertoires avec Python
Il y a os.listdir() La méthode en Python est utilisée pour obtenir la liste de tous les fichiers et répertoires du répertoire spécifié. Si nous ne spécifions aucun répertoire, alors la liste des fichiers et répertoires du répertoire de travail actuel sera renvoyée.
Exemple: Ce code répertorie tous les fichiers et répertoires du répertoire racine (/) . Il utilise leos.listdir>fonction pour obtenir la liste des fichiers et des répertoires dans le chemin spécifié, puis imprimer les résultats.
import os path = '/' dir_list = os.listdir(path) print('Files and directories in '', path, '' :') print(dir_list)> Sortir:
Files and directories in ' / ' : ['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']>
Suppression d'un répertoire ou de fichiers à l'aide de Python
Le module OS fournit différentes méthodes pour supprimer des répertoires et des fichiers en Python. Ceux-ci sont -
- Utiliser os.remove()
- Utiliser os.rmdir()
Utilisation de la méthode os.remove()
os.remove() La méthode en Python est utilisée pour supprimer ou supprimer un chemin de fichier. Cette méthode ne peut pas supprimer ou supprimer un répertoire. Si le chemin spécifié est un répertoire, alors OSError sera déclenché par la méthode.
Exemple: Supposons que les fichiers contenus dans le dossier soient :

Ce code supprime un fichier nommé file1.txt de l'emplacement spécifié D:/Pycharmprojects/techcodeview.com/Authors/Nikhil/. Il utilise leos.remove>fonction pour supprimer le fichier au chemin spécifié.
import os file = 'file1.txt' location = 'D:/Pycharm projects/techcodeview.com/Authors/Nikhil/' path = os.path.join(location, file) os.remove(path)>
Sortir:

Utiliser os.rmdir()
os.rmdir() La méthode en Python est utilisée pour supprimer ou supprimer un répertoire vide. OSError sera déclenché si le chemin spécifié n'est pas un répertoire vide.
Exemple: Supposons que les répertoires soient

Ce code tente de supprimer un répertoire nommé Geeks situé à D:/Projets Python/ .
Il utilise leos.rmdir>fonction pour supprimer le répertoire. Si le répertoire est vide, il sera supprimé. S'il contient des fichiers ou des sous-répertoires, vous risquez de rencontrer une erreur.
import os directory = 'Geeks' parent = 'D:/Pycharm projects/' path = os.path.join(parent, directory) os.rmdir(path)>
Sortir:

Fonctions couramment utilisées
Utilisation de la fonction os.name
Cette fonction donne le nom du module dépendant du système d'exploitation importé . Les noms suivants ont actuellement été enregistrés : « posix », « nt », « os2 », « ce », « java » et « riscos ».
Python import os print(os.name)>
Sortir:
posix>
Note: Cela peut donner des résultats différents sur différents interpréteurs, tels que « posix » lorsque vous exécutez le code ici.
Utilisation de la fonction os.error
Toutes les fonctions de ce module augmentent OSErreur dans le cas de noms et chemins de fichiers invalides ou inaccessibles, ou d'autres arguments qui ont le type correct, mais qui ne sont pas acceptés par le système d'exploitation. os.error est un alias pour l'exception OSError intégrée.
Ce code lit le contenu d'un fichier nommé 'GFG.txt' . Il utilise un ' essayez… sauf ' bloc pour gérer les erreurs potentielles, en particulier le ' Erreur IOErreur ' cela peut se produire en cas de problème de lecture du fichier.
Si une erreur se produit, un message indiquant : Problème de lecture : GFG.txt.
Python import os try: filename = 'GFG.txt' f = open(filename, 'rU') text = f.read() f.close() except IOError: print('Problem reading: ' + filename)> Sortir:
Problem reading: GFG.txt>
Utilisation de la fonction os.popen()
Cette méthode ouvre un canal vers ou depuis la commande. La valeur de retour peut être lue ou écrite selon que le mode est 'r' ou 'w' .
Syntaxe:
os.popen(command[, mode[, bufsize]])>
Les paramètres mode et bufsize ne sont pas des paramètres nécessaires, s’ils ne sont pas fournis, « r » par défaut est pris pour mode.
Ce code ouvre un fichier nommé 'GFG.txt' en mode écriture, écrit Bonjour à lui, puis lit et imprime son contenu. L'utilisation de os.popen> n’est pas recommandé et des opérations de fichiers standard sont utilisées pour ces tâches.
import os fd = 'GFG.txt' file = open(fd, 'w') file.write('Hello') file.close() file = open(fd, 'r') text = file.read() print(text) file = os.popen(fd, 'w') file.write('Hello')> Sortir:
Hello>
Note: La sortie de popen() ne sera pas affichée, il y aura des modifications directes dans le fichier.
Utilisation de la fonction os.close()
Fermez le descripteur de fichier fd. Un fichier ouvert avec open() peut être fermé uniquement par close(). Mais le fichier ouvert via os.popen() peut être fermé avec close() ou os.close() . Si nous essayons de fermer un fichier ouvert avec open(), en utilisant os.close(), Python lancerait TypeError.
Python import os fd = 'GFG.txt' file = open(fd, 'r') text = file.read() print(text) os.close(file)>
Sortir:
Traceback (most recent call last): File 'C:UsersGFGDesktopGeeksForGeeksOSFile.py', line 6, in os.close(file) TypeError: an integer is required (got type _io.TextIOWrapper)>
Note: La même erreur peut ne pas être générée en raison d'un fichier ou d'un privilège d'autorisation inexistant.
Utilisation de la fonction os.rename()
Un fichier old.txt peut être renommé en new.txt, en utilisant la fonction os.rename() . Le nom du fichier ne change que si le fichier existe et que l'utilisateur dispose des privilèges suffisants pour modifier le fichier.
Python import os fd = 'GFG.txt' os.rename(fd,'New.txt') os.rename(fd,'New.txt')>
Sortir:
Traceback (most recent call last): File 'C:UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py', line 3, in os.rename(fd,'New.txt') FileNotFoundError: [WinError 2] The system cannot find the file specified: 'GFG.txt' ->'Nouveau.txt'>
Un nom de fichier GFG.txt existe, donc lorsque os.rename() est utilisé pour la première fois, le fichier est renommé.
Lors du deuxième appel de la fonction os.rename(), le fichier New.txt existe et non GFG.txt, donc Python renvoie FileNotFoundError.
Utilisation de la fonction os.remove()
En utilisant le module Os, nous pouvons supprimer un fichier de notre système en utilisant le os.remove() méthode. Pour supprimer un fichier, nous devons passer le nom du fichier en paramètre.
Python import os #importing os module. os.remove('file_name.txt') #removing the file.> Le module OS nous fournit une couche d'abstraction entre nous et le système d'exploitation.
Quand nous travaillons avec OS Le module spécifie toujours le chemin absolu en fonction du système d'exploitation, le code peut s'exécuter sur n'importe quel système d'exploitation mais nous devons changer le chemin exactement. Si vous essayez de supprimer un fichier qui n'existe pas, vous obtiendrez ErreurFichierNotFound .
Utilisation de la fonction os.path.exists()
Cette méthode vérifiera si un fichier existe ou non en passant le nom du fichier en paramètre. Le module OS a un sous-module nommé PATH grâce auquel nous pouvons exécuter beaucoup plus de fonctions.
Python import os #importing os module result = os.path.exists('file_name') #giving the name of the file as a parameter. print(result)> Sortir:
False>
Comme dans le code ci-dessus, le fichier n'existe pas, il donnera une sortie False. Si le fichier existe, il nous donnera le résultat True.
Utilisation de la fonction os.path.getsize()
Dans os.path.getsize( ), python nous donnera la taille du fichier en octets. Pour utiliser cette méthode, nous devons passer le nom du fichier en paramètre.
Python import os #importing os module size = os.path.getsize('filename') print('Size of the file is', size,' bytes.')> Sortir:
remplacer la chaîne en java
Size of the file is 192 bytes.>