Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Entrées/sorties de fichiers Python : maîtriser les opérations sur les fichiers

Entrées/sorties de fichiers Python

Apprenez à ouvrir, lire, écrire et fermer des fichiers en Python avec des exemples clairs et des techniques de bonnes pratiques.

Vidéo : Lecture et écriture de fichiers en Python

Fichiers

Les fichiers sont des emplacements nommés sur disque qui stockent des données de manière persistante. Comme la RAM est volatile, nous comptons sur les fichiers pour conserver l'information entre les exécutions de programme.

Lors de l'interaction avec un fichier, la séquence typique est : ouvrir → lire/écrire → fermer.


Ouvrir des fichiers en Python

La fonction intégrée open() de Python retourne un objet fichier que vous pouvez utiliser pour effectuer des opérations d'E/S. La signature de la fonction est :

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Points clés :

ModeDescription
rLecture (défaut)
wÉcriture ; crée nouveau ou tronque l'existant
xCréation exclusive ; échoue si le fichier existe
aAjout ; crée s'il manque
tMode texte (défaut)
bMode binaire
+Lecture et écriture
f = open("test.txt")           # r/rt
f = open("test.txt", "w")      # écriture
f = open("img.bmp", "r+b")     # lecture/écriture binaire

Puisque a est un caractère, il n'équivaut pas au nombre 97 sauf s'il est encodé. Définissez explicitement encoding='utf-8' pour les fichiers texte.

f = open("test.txt", mode='r', encoding='utf-8')

Fermer des fichiers en Python

Fermer correctement un fichier libère les ressources système. La méthode close() est simple, mais utiliser un gestionnaire de contexte est le motif le plus sûr.

with open("test.txt", encoding='utf-8') as f:
    # effectuer les opérations sur le fichier
    pass

Le gestionnaire de contexte garantit la fermeture même si une exception se produit. Si vous ouvrez un fichier manuellement, enveloppez-le dans un bloc try...finally.

try:
    f = open("test.txt", encoding='utf-8')
    # opérations
finally:
    f.close()

Écrire dans des fichiers en Python

Utilisez les modes w, a ou x pour écrire. w écrase le contenu existant ; a le préserve.

La méthode write() accepte une chaîne (ou des octets pour le binaire) et retourne le nombre de caractères écrits.

with open("test.txt", "w", encoding='utf-8') as f:
    f.write("mon premier fichier\n")
    f.write("Ce fichier\n\n")
    f.write("contient trois lignes\n")

N'oubliez pas d'inclure des caractères de nouvelle ligne pour séparer les lignes.


Lire des fichiers en Python

Ouvrez avec le mode r. La méthode read() accepte un argument optionnel size ; l'omettre lit jusqu'à EOF.

f = open("test.txt", "r", encoding='utf-8')
print(f.read(4))  # 'This'
print(f.read(4))  # ' is '
print(f.read())   # contenu restant
f.close()

Déplacez le curseur avec seek() et interrogez sa position avec tell() :

print(f.tell())  # position actuelle
f.seek(0)        # rembobiner
print(f.read())  # tout lire

Itérez sur les lignes efficacement :

for line in f:
    print(line, end='')

Alternativement, readline() et readlines() fournissent un accès ligne par ligne.


Méthodes de fichier Python

Voici une référence concise pour les méthodes de fichier les plus courantes en mode texte.

MéthodeDescription
close()Ferme le fichier.
detach()Détache le tampon binaire sous-jacent.
fileno()Retourne le descripteur de fichier.
flush()Vide le tampon d'écriture.
isatty()Vérifie si le flux est interactif.
read(n)Lit jusqu'à n caractères ; None lit jusqu'à EOF.
readable()Le flux est-il lisible ?
readline(n=-1)Lit une seule ligne, jusqu'à n caractères.
readlines(n=-1)Retourne une liste de lignes, jusqu'à n caractères.
seek(offset, from_=SEEK_SET)Déplace le curseur à offset depuis from_ (début, courant, fin).
seekable()Le flux peut-il supporter l'accès aléatoire ?
tell()Obtient la position actuelle du curseur.
truncate(size=None)Redimensionne le fichier à size octets.
writable()Le flux est-il inscriptible ?
write(s)Écrit la chaîne s ; retourne le nombre de caractères écrits.
writelines(lines)Écrit un itérable de chaînes.

Python

  1. Maîtriser l'entrée/sortie en C : scanf() et printf() expliqués
  2. Maîtriser les types de données Python : Guide pratique
  3. Maîtriser les opérateurs Python : Guide complet
  4. Maîtriser les dictionnaires Python : création, manipulation et techniques avancées
  5. Entrées/sorties de fichiers Python : maîtriser les opérations sur les fichiers
  6. Vérifier l'existence de fichiers et répertoires en Python – Guide pratique
  7. Python JSON : encodage, décodage et gestion de fichiers – Guide pratique
  8. Maîtriser les entrées/sorties fichiers en C : Création, ouverture et gestion
  9. Maîtriser les entrées/sorties fichiers en C# : lecture, écriture et flux