Fermer

janvier 29, 2023

Comprendre la gestion des fichiers en Python, avec des exemples –

Comprendre la gestion des fichiers en Python, avec des exemples –


Dans cet article sur la gestion des fichiers avec Python, vous apprendrez à utiliser le module Python OS et à naviguer dans les fichiers et répertoires locaux. Vous apprendrez également à ouvrir, lire, écrire et fermer des fichiers en Python.

La gestion des fichiers est un bon moyen de conserver les données après la fin d’un programme. Les données d’un programme informatique sont enregistrées dans un fichier et peuvent être consultées ultérieurement. Python, comme de nombreux autres langages de programmation, fournit des méthodes pratiques pour créer, ouvrir, lire et écrire des données dans un fichier.

Contenu:

  1. Gestion des fichiers en Python : fichiers et chemins d’accès aux fichiers
  2. Gestion de fichiers en Python : lecture et écriture de données

Gestion des fichiers en Python : fichiers et chemins d’accès aux fichiers

Les fichiers sont des alternatives rapides pour conserver les données d’un programme informatique. La mémoire vive (RAM) ne peut stocker des données que temporairement, car toutes les données précédentes sont perdues immédiatement après l’arrêt du système informatique. Les fichiers sont préférés, car ils constituent un point de stockage plus permanent pour les données sur un ordinateur. UN dossier est un emplacement sur un disque local où les données sont stockées. Il a deux propriétés essentielles : un nom de fichier et son chemin.

Utilisation du module OS

Python fournit un module de système d’exploitation intégré pour interagir avec le système d’exploitation de notre ordinateur. Le module OS possède des interfaces (fonctions) qui aident à effectuer des opérations telles que la navigation dans les répertoires et les fichiers en Python, la création de dossiers, l’identification des chemins de fichiers, etc.

Pour utiliser le module OS, nous l’importons dans notre programme comme indiqué ci-dessous :

import os

Comment obtenir le répertoire de travail actuel

Nous pouvons obtenir le répertoire de travail actuel (« cwd ») en Python en utilisant le getcwd() méthode. Cette méthode renvoie le chemin du répertoire dans lequel nous travaillons actuellement sous forme de chaîne, comme indiqué dans l’extrait de code ci-dessous :

import os 

directory = os.getcwd()
print(directory)
>>>>
/home/ini/Dev/Tutorial/sitepoint

Chemins absolus vs chemins relatifs

Les chemins d’accès aux fichiers peuvent être spécifiés de deux manières : soit par leur chemin absolu, soit par leur chemin relatif. Les deux chemins pointent vers l’emplacement actuel du fichier.

Les absolu path d’un fichier déclare son chemin, en commençant par le dossier racine. Un chemin absolu ressemble à ceci :

/home/ini/Dev/Tutorial/sitepoint/filehandling.py

Le dossier racine (comme on le voit dans le code ci-dessus) est home sur un système d’exploitation Linux.

Les relatif path d’un fichier déclare son chemin par rapport au répertoire de travail courant. Voyons un exemple :

./sitepoint/filehandling.py

Le code ci-dessus montre le chemin relatif du fichier Python filehandling.py.

Comment créer un répertoire en Python

Le module OS dispose d’un mkdir() méthode pour créer de nouveaux dossiers ou répertoires en Python. Les mkdir() La méthode prend un argument — un nom pour le répertoire — à créer dans le répertoire courant comme comportement par défaut. Voir le code ci-dessous :

import os

os.mkdir("photos")

Cependant, nous pouvons créer des répertoires à un emplacement différent en spécifiant le chemin du fichier. Dans l’exemple de code ci-dessous, un projects dossier est créé dans le Tutorial dossier:

os.mkdir("/home/ini/Dev/Tutorial/projects")

Lorsque nous vérifions à l’intérieur du Tutorial dossier, nous trouverons le dossier nouvellement créé projects dossier.

Comment changer le répertoire de travail actuel

Pour passer d’un répertoire à l’autre, utilisez la chdir() méthode. Le nouveau chemin est passé en argument à la méthode pour passer du répertoire de travail courant à un autre.

Après avoir créé un nouveau dossier dans l’exemple de code précédent, nous pouvons changer le répertoire en projects dossier:

import os

os.chdir("/home/ini/Dev/Tutorial/projects")

Pour confirmer le changement dans le répertoire, utilisez les getcwd() méthode, qui renvoie une chaîne du répertoire de travail actuel : /home/ini/Dev./Tutorial/projects.

Comment supprimer des fichiers ou des répertoires en Python

Les fichiers et les répertoires peuvent être supprimés en Python à l’aide du module OS remove() et rmdir() méthodes respectivement.

Pour supprimer des fichiers en Python, saisissez le chemin du fichier dans le champ os.remove() méthode. Lors de la suppression de fichiers, si le fichier n’existe pas, le programme lancera le FileNotFoundError.

Prenons un exemple de code :

import os

os.remove("random.txt")

Pour supprimer ou supprimer un répertoire, utilisez os.rmdir()en passant le chemin du répertoire à supprimer, comme ceci :

import os

os.rmdir("/home/ini/Dev/Tutorial/projects")

Les projects dossier est supprimé du Tutorial dossier.

Comment lister des fichiers et des répertoires en Python

Pour avoir une vue d’ensemble de tout le contenu d’un répertoire, utilisez la os.listdir() méthode. Cette méthode renvoie une liste de tous les fichiers et répertoires existants dans ce dossier particulier :

import os

print(os.listdir())
>>>>
['array.py', 'unittesting.py', 'search_replace.py', '__pycache__', 'pangram.txt', '.pytest_cache', 'exception.py', 'files.py', 'regex.py', 'filehandling.py']

Gestion de fichiers en Python : lecture et écriture de données

La gestion des fichiers en Python est simple et pas aussi compliquée que dans d’autres langages de programmation. Il existe différents modes d’accès aux fichiers parmi lesquels choisir lors de l’ouverture d’un fichier Python pour n’importe quelle opération :

  • r: ouvre un fichier en lecture. Le mode lecture renvoie une erreur lorsque le fichier n’existe pas.

  • r+: ouvre le fichier pour lire et écrire des données dans un objet fichier. Une erreur est renvoyée si le fichier n’existe pas.

  • w: un fichier est ouvert dans ce mode pour écrire des données. Le mode d’écriture remplace les données existantes et crée un nouvel objet fichier s’il n’existe pas.

  • w+: ouvre un fichier pour lire et écrire des données. Les données existantes sur le fichier sont remplacées lors de l’ouverture dans ce mode.

  • a: le mode d’ajout ajoute à un fichier si le fichier existe. Il crée également un nouveau fichier s’il n’y a pas de fichier existant. Il ne remplace pas les données existantes.

  • a+: ce mode ouvre un fichier pour ajouter et lire des données.

  • x: le mode création est utilisé pour créer des fichiers en Python. Une erreur est renvoyée si le fichier existe.

Ajouter b à l’un des modes d’accès le fait passer du format texte par défaut à un format binaire (par exemple, rb, rb+, wbetc).

Comment ouvrir un fichier en Python

Pour ouvrir un fichier en Python, le open() fonction est utilisée. Il prend au moins deux arguments — le nom du fichier et la description du mode — et renvoie un objet fichier. Par défaut, un fichier est ouvert en lecture en mode texte, mais nous pouvons spécifier si nous voulons le mode binaire à la place.

Une syntaxe simple pour ouvrir un fichier ressemble à ceci :

f = open('filename', 'mode')

Après cette étape, comme indiqué dans le code ci-dessus, nous pouvons commencer nos opérations de lecture-écriture sur l’objet fichier. En mode par défaut, les fichiers sont toujours traités en mode texte.

Comment fermer un fichier en Python

Après l’ouverture d’un objet fichier et l’exécution d’opérations de traitement de fichier, nous fermons le fichier. C’est souvent la dernière étape de la lecture ou de l’écriture de fichiers en Python. L’objet fichier close() La méthode est utilisée pour fermer les fichiers précédemment ouverts.

La fermeture de fichiers en Python ressemble à ceci :

f = open('filename', 'mode')
// file operations, reading, writing or appending
f.close()

Les with déclaration

C’est une pratique courante de fermer les fichiers une fois qu’ils ont été ouverts et que des opérations sur les fichiers ont été effectuées. Il est possible de manquer la fermeture de certains fichiers après leur ouverture.

Les with L’instruction ferme automatiquement les fichiers une fois la dernière opération de traitement de fichier terminée dans son étendue. Par example:

with open('random.txt', 'r') as f:
    print(f.read())
>>>>
Hello world!
Hello world!

Comme on le voit dans l’extrait de code ci-dessus, le with ferme implicitement le fichier après la print déclaration.

Comment lire un fichier en Python

Il existe plusieurs façons de lire les données d’un fichier en Python. Nous pouvons lire le contenu d’un fichier en utilisant le read(), readline()et readlines() méthodes.

Les read() méthode

Les read() La méthode renvoie une chaîne de tous les caractères du fichier en cours de lecture. Le pointeur est placé au début du contenu du fichier. Le mode par défaut est de lire du début du fichier à la fin du fichier, sauf si le nombre de caractères est spécifié.

Jetez un œil à l’extrait de code ci-dessous :

f = open('random.txt', 'r')
print(f.read())
f.close()
>>>>
This is some random text.
Here is the second line.
The sky is blue.
Roses are red. 

Nous pouvons spécifier le nombre de caractères à lire dans le fichier texte. Passez simplement le nombre de caractères comme argument à la read() méthode:

f = open('random.txt', 'r')
print(f.read(12))
f.close()
>>>>
This is some

Comme on le voit dans l’exemple ci-dessus, l’interpréteur ne lit que douze caractères du fichier entier.

Les readline() méthode

Cette méthode lit une ligne d’un fichier à la fois. Il lit depuis le début du fichier et s’arrête là où un caractère de saut de ligne est trouvé. Voir l’exemple de code ci-dessous :

f = open('random.txt', 'r')
print(f.readline())
f.close()
>>>>
This is some random text.

Les readlines() méthode

Cette méthode renvoie une liste de toutes les lignes du fichier existant en cours de lecture. Voir l’extrait de code ci-dessous :

f = open('random.txt', 'r')
print(f.readlines())
f.close()
>>>>
['This is some random text.\n', 'Here is the second line.\n', 'The sky is blue.\n', 'Roses are red.']

Remarque : toutes les méthodes de lecture d’un flux de fichier renvoient une valeur vide lorsque la fin du fichier est atteinte. Les seek() La méthode renvoie le curseur de fichier au début du fichier.

Comment écrire dans un fichier en Python

Les write() La méthode en Python est utile lorsque vous essayez d’écrire des données dans un fichier. Pour écrire dans un fichier ouvert, le mode d’accès doit être défini sur l’un des éléments suivants : w, w+, a, a+, etc. Encore une fois, la valeur par défaut est le mode texte plutôt que binaire.

Les write() méthode

Passez un argument de chaîne à cette méthode lorsque nous voulons écrire des données dans un fichier texte. N’oubliez pas que le mode d’écriture remplacera les données existantes si le fichier existe :

f = open('random.txt', 'w')
f.write("Hello world!")
f.close()

Les writelines() méthode

Cette méthode nous aide à insérer plusieurs chaînes dans un fichier texte à la fois. Nous pouvons écrire plusieurs lignes de chaînes dans un fichier en une seule fois en passant la liste comme argument de la méthode :

words = ['The sky is blue', '\nRoses are red']

f = open('random.txt', 'w')
f.writelines(words)
f.close()

Le code ci-dessus montre qu’un fichier fermé est ouvert et que certaines lignes d’une liste de mots sont insérées immédiatement dans le random.txt fichier texte.

Conclusion

Il existe deux attributs importants pour un fichier : le nom de fichier et son chemin. Le module OS nous aide à naviguer dans les répertoires et à effectuer certaines opérations. La gestion des fichiers Python implique l’utilisation de plusieurs méthodes pour ouvrir, créer, lireet écrivez données sur les objets de fichier.

Il est également important de comprendre la gestion des fichiers en Python si nous voulons interagir avec du contenu dans des fichiers texte ou binaires. Assurez-vous toujours de fermer les fichiers après avoir effectué des opérations sur ceux-ci. Les with facilite la gestion des fichiers en Python, car elle ferme implicitement les objets fichier une fois que nous avons terminé.

Lecture connexe :




Source link