Comment utiliser « avec » en Python pour ouvrir des fichiers (y compris des exemples)



Vous pouvez utiliser la syntaxe suivante pour ouvrir un fichier en Python, en faire quelque chose, puis fermer le fichier :

file = open('my_data.csv')

df = file.read()

print(df)

file.close()

Le problème avec cette approche est qu’il est très facile d’oublier de fermer le fichier.

Une meilleure approche consiste à utiliser with open , qui utilise la syntaxe de base suivante :

with open('my_data.csv') as file:

   df = file.read()

   print(df)

En utilisant cette approche, le fichier avec lequel vous travaillez est automatiquement fermé afin que vous n’ayez pas à vous rappeler d’utiliser file.close() .

Les exemples suivants montrent comment utiliser with open dans différents scénarios.

Exemple 1 : utiliser l’instruction With pour lire le fichier

Le code suivant montre comment utiliser l’instruction « with » pour lire un fichier en Python et imprimer le contenu du fichier :

with open('my_data.csv') as file:

   df = file.read()

   print(df)

,points,assists,rebounds
0,11,5,6
1,17,7,8
2,16,7,8
3,18,9,10
4,22,12,14
5,25,9,12
6,26,9,12
7,24,4,10
8,29,8,11

Le contenu du fichier est imprimé et le fichier est automatiquement fermé sans que nous tapions file.close() .

Exemple 2 : utiliser l’instruction With pour écrire un fichier

Le code suivant montre comment utiliser l’instruction « with » pour écrire du texte dans un fichier :

with open('data_out.csv', 'w') as file:

    file.write('Some text to write to CSV file')

Notez que le ‘ w ‘ dans l’instruction open() indique à Python d’utiliser le mode ‘écriture’ avec le fichier par opposition au mode lecture.

Exemple 3 : utiliser l’instruction With pour lire et écrire des fichiers

Nous pouvons également ouvrir plusieurs fichiers à la fois dans une seule instruction « with ».

Le code suivant montre comment utiliser l’instruction « with » pour ouvrir deux fichiers, lire le contenu d’un fichier, puis écrire le contenu du premier fichier dans le deuxième fichier :

with open('my_data.csv', 'r') as infile, open('data_out.csv', 'w') as outfile:
    for line in infile:
        outfile.write(line)

Si nous naviguons jusqu’à l’emplacement où nous avons écrit « data_out.csv », nous pouvons alors afficher le contenu du fichier :

Notez que nous pouvons utiliser la fonction open() pour ouvrir autant de fichiers que nous le souhaitons dans une seule instruction « with ».

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :

Comment lire des fichiers CSV avec Pandas
Comment lire des fichiers Excel avec Pandas
Comment lire des fichiers texte avec Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *