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 en Python : Maîtriser les opérations de lecture et d'écriture

Ce chapitre couvre toutes les fonctions de base d'entrée/sortie disponibles en Python. Pour plus de fonctions, veuillez consulter la documentation standard de Python.

Affichage à l'écran

La méthode la plus simple pour produire une sortie consiste à utiliser l'instruction print, où vous pouvez passer zéro ou plusieurs expressions séparées par des virgules. Cette fonction convertit les expressions que vous passez en chaîne de caractères et écrit le résultat sur la sortie standard :

#!/usr/bin/python
print("Python is really a great language,", "isn't it?")

Cela produit le résultat suivant sur votre écran :

Python is really a great language, isn't it?

Lecture de l'entrée clavier

Python fournit deux fonctions intégrées pour lire une ligne de texte depuis l'entrée standard, qui provient par défaut du clavier :

La fonction raw_input (Python 2)

La fonction raw_input([prompt]) lit une ligne depuis l'entrée standard et la renvoie sous forme de chaîne (en supprimant le saut de ligne final).

#!/usr/bin/python
str = raw_input("Enter your input: ")
print("Received input is : ", str)

Cela vous invite à entrer une chaîne et affiche la même chaîne à l'écran. Si vous tapez "Hello Python!", la sortie ressemble à ceci :

Enter your input: Hello Python
Received input is : Hello Python

La fonction input

La fonction input([prompt]) est équivalente à raw_input, sauf qu'elle suppose que l'entrée est une expression Python valide et renvoie le résultat évalué.

#!/usr/bin/python
str = input("Enter your input: ")
print("Received input is : ", str)

Cela produirait le résultat suivant pour l'entrée saisie :

Enter your input: [x*5 for x in range(2,10,2)]
Received input is : [10, 20, 30, 40]

Ouverture et fermeture de fichiers

Jusqu'à présent, vous lisiez et écriviez sur l'entrée et la sortie standard. Maintenant, nous verrons comment utiliser de vrais fichiers de données.

Python fournit par défaut les fonctions et méthodes de base nécessaires pour manipuler les fichiers. Vous pouvez effectuer la plupart des manipulations de fichiers à l'aide d'un objet file.

La fonction open

Avant de pouvoir lire ou écrire un fichier, vous devez l'ouvrir à l'aide de la fonction intégrée open() de Python. Cette fonction crée un objet file, qui sera utilisé pour appeler d'autres méthodes de support associées.

Syntaxe

file_object = open(file_name [, access_mode][, buffering])

Détails des paramètres :

Voici la liste des différents modes d'ouverture d'un fichier :

N°Modes et description
1

r

Ouvre un fichier en lecture seule. Le pointeur est placé au début. Mode par défaut.

2

rb

Ouvre un fichier en lecture seule en format binaire. Pointeur au début.

3

r+

Ouvre un fichier en lecture et écriture. Pointeur au début.

4

rb+

Ouvre un fichier en lecture et écriture en format binaire. Pointeur au début.

5

w

Ouvre un fichier en écriture seule. Écrasement si le fichier existe, sinon création.

6

wb

Ouvre un fichier en écriture seule en format binaire. Écrasement ou création.

7

w+

Ouvre un fichier en lecture et écriture. Écrasement ou création.

8

wb+

Ouvre un fichier en lecture et écriture en format binaire. Écrasement ou création.

9

a

Ouvre un fichier en ajout. Pointeur à la fin si le fichier existe, sinon création.

10

ab

Ouvre un fichier en ajout en format binaire. Pointeur à la fin ou création.

11

a+

Ouvre un fichier en ajout et lecture. Pointeur à la fin ou création.

12

ab+

Ouvre un fichier en ajout et lecture en format binaire. Pointeur à la fin ou création.

Attributs de l'objet file

Une fois un fichier ouvert, vous pouvez obtenir diverses informations le concernant.

N°Attribut et description
1

file.closed

Renvoie true si le fichier est fermé, false sinon.

2

file.mode

Renvoie le mode d'accès avec lequel le fichier a été ouvert.

3

file.name

Renvoie le nom du fichier.

4

file.softspace

Renvoie false si un espace est explicitement requis avec print, true sinon.

Exemple

#!/usr/bin/python
# Ouvrir un fichier
fo = open("foo.txt", "wb")
print("Name of the file: ", fo.name)
print("Closed or not : ", fo.closed)
print("Opening mode : ", fo.mode)
print("Softspace flag : ", fo.softspace)

Cela produit le résultat suivant :

Name of the file: foo.txt
Closed or not : False
Opening mode : wb
Softspace flag : 0

La méthode close()

La méthode close() d'un objet file vide les informations non écrites et ferme l'objet fichier, après quoi aucune écriture ne peut plus être effectuée.

Python ferme automatiquement un fichier lorsque l'objet de référence est réassigné. Il est toutefois recommandé d'utiliser close() pour fermer un fichier.

Syntaxe

fileObject.close()

Exemple

#!/usr/bin/python
# Ouvrir un fichier
fo = open("foo.txt", "wb")
print("Name of the file: ", fo.name)
# Fermer le fichier ouvert
fo.close()

Lecture et écriture de fichiers

L'objet file fournit un ensemble de méthodes d'accès pour faciliter la vie. Nous verrons comment utiliser les méthodes read() et write().

La méthode write()

La méthode write() écrit une chaîne dans un fichier ouvert. Notez que les chaînes Python peuvent contenir des données binaires, pas seulement du texte.

La méthode write() n'ajoute pas de caractère de nouvelle ligne ('\n') à la fin de la chaîne.

Syntaxe

fileObject.write(string)

Exemple

#!/usr/bin/python
# Ouvrir un fichier
fo = open("foo.txt", "wb")
fo.write("Python is a great language.\nYeah its great!!\n")
# Fermer le fichier ouvert
fo.close()

Cette méthode crée le fichier foo.txt et y écrit le contenu donné, puis ferme le fichier. Si vous ouvrez ce fichier, il contiendra :

Python is a great language.
Yeah its great!!

La méthode read()

La méthode read() lit une chaîne depuis un fichier ouvert. Les chaînes Python peuvent contenir des données binaires en plus des données textuelles.

Syntaxe

fileObject.read([count])

Le paramètre est le nombre d'octets à lire. Cette méthode commence la lecture au début du fichier et si count est omis, elle essaie de lire le maximum possible, jusqu'à la fin du fichier.

Exemple

Prenons le fichier foo.txt créé ci-dessus.

#!/usr/bin/python
# Ouvrir un fichier
fo = open("foo.txt", "r+")
str = fo.read(10)
print("Read String is : ", str)
# Fermer le fichier ouvert
fo.close()

Cela produit le résultat suivant :

Read String is : Python is

Positions dans le fichier

La méthode tell() indique la position courante dans le fichier ; en d'autres termes, la prochaine lecture ou écriture se produira à cet octet depuis le début du fichier.

La méthode seek(offset[, from]) modifie la position courante. L'argument offset indique le nombre d'octets à déplacer. L'argument from spécifie la position de référence.

Exemple

#!/usr/bin/python
fo = open("foo.txt", "r+")
str = fo.read(10)
print("Read String is : ", str)
# Vérifier la position courante
position = fo.tell()
print("Current file position : ", position)
# Repositionner au début
position = fo.seek(0, 0)
str = fo.read(10)
print("Again read String is : ", str)
fo.close()

Renommer et supprimer des fichiers

Le module os de Python fournit des méthodes pour effectuer des opérations sur les fichiers, telles que le renommage et la suppression.

Pour utiliser ce module, importez-le d'abord, puis appelez les fonctions associées.

La méthode rename()

La méthode rename() prend deux arguments : le nom de fichier actuel et le nouveau nom.

os.rename(current_file_name, new_file_name)

Exemple

#!/usr/bin/python
import os
# Renommer test1.txt en test2.txt
os.rename("test1.txt", "test2.txt")

La méthode remove()

Utilisez remove() pour supprimer un fichier en fournissant son nom.

os.remove(file_name)

Exemple

#!/usr/bin/python
import os
# Supprimer test2.txt
os.remove("test2.txt")

Répertoires en Python

Tous les fichiers sont contenus dans divers répertoires. Le module os possède plusieurs méthodes pour créer, supprimer et changer de répertoire.

La méthode mkdir()

Crée un répertoire dans le répertoire courant.

os.mkdir("newdir")

Exemple

#!/usr/bin/python
import os
os.mkdir("test")

La méthode chdir()

Change le répertoire courant.

os.chdir("newdir")

Exemple

#!/usr/bin/python
import os
os.chdir("/home/newdir")

La méthode getcwd()

Affiche le répertoire de travail courant.

os.getcwd()

Exemple

#!/usr/bin/python
import os
os.getcwd()

La méthode rmdir()

Supprime le répertoire passé en argument. Le répertoire doit être vide.

os.rmdir('dirname')

Exemple

#!/usr/bin/python
import os
os.rmdir("/tmp/test")

Méthodes liées aux fichiers et répertoires

Trois sources importantes fournissent une large gamme de méthodes utilitaires :

Python

  1. Maîtriser l'entrée/sortie en C : scanf() et printf() expliqués
  2. Gestion des fichiers en C : Maîtriser les E/S avec fopen, fprintf, fread et fseek
  3. Maîtriser les E/S et l'importation de modules en Python : Guide pratique
  4. Entrées/sorties de fichiers Python : maîtriser les opérations sur les fichiers
  5. Maîtriser les opérations sur les répertoires et fichiers en Python
  6. Vérifier l'existence de fichiers et répertoires en Python – Guide pratique
  7. Maîtriser les entrées/sorties fichiers en C : Création, ouverture et gestion
  8. Comprendre les fichiers d'en-tête C : Types, utilisation et bonnes pratiques
  9. Maîtriser les entrées/sorties fichier en C++ : Lecture et écriture avec fstream