Lecture de fichiers

14.1 Lecture de fichiers

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Comprendre comment ouvrir un fichier à l'aide de la fonction open().
  • Démontrer comment lire des informations à partir d'un fichier à l'aide de read(), readline() et readlines().

Ouvrir un fichier

Lire des informations dans des fichiers et y écrire des informations est une tâche courante en programmation.

Python permet d'ouvrir un fichier à l'aide de la fonction open().

Faites le point

Ouvrir un fichier

Concepts en pratique

Ouverture de fichiers

1.
Quelle est la manière correcte d'ouvrir un fichier nommé firstfile.txt afin que son contenu puisse être lu dans un programme Python ?
  1. open("firstfile")
  2. open("firstfile.txt")
  3. fileobj = open("firstfile.txt")
2.
Supposons qu'il n'existe aucun fichier nommé input.txt. Quel est le résultat d'une tentative d'exécution de open("input.txt") ?
  1. Error
  2. rien
  3. Le fichier "input.txt" est créé.
3.
Quel est le résultat du code suivant ?
fileobj = open("newfile.txt")
print(fileobj)
  1. Error
  2. Des informations sur l'objet fileobj sont affichées.
  3. Le contenu de newfile.txt est affiché.

Utilisation de
read()
et lecture de lignes

Python fournit des fonctions qui peuvent être appelées sur un objet fichier pour lire le contenu d'un fichier :

  • La fonction read() lit le contenu d'un fichier et renvoie une chaîne de caractères.
  • La fonction readline() lit la ligne suivante d'un fichier et renvoie une chaîne de caractères.
  • La fonction readlines() lit les lignes individuelles d'un fichier et renvoie une liste de chaînes contenant toutes les lignes du fichier dans l'ordre.

Exemple 14.1

Utilisation de read() et readlines()

Un fichier appelé input.txt a le contenu suivant :

    12
    55
    5
    91
    """Demonstrating read() and readlines()"""

    # Using read()
    # Open the file and associate with a file object
    infile = open("input.txt")

    # Read the contents of the file into a string
    str1 = infile.read()

    # Print str1
    print("Result of using read():")
    print(str1)

    # Always close the file once done using the file
    infile.close()
    
    # Using read()
    # Open the file and associate with a file object
    infile2 = open("input.txt")

    # Read the contents of the file into a string list
    str_list = infile2.readlines()

    # Printing the third item in the string list.
    print("Result of using readlines() and printing the third item in the string list:")
    print(str_list[2])

    # Always close the file once done using the file
    infile2.close()

La sortie du code est :

    Result of using read():
    12
    55
    5
    91
    Result of using readlines() printing the third item in the string list:
    5

Faites le point

read() et readline()

Concepts en pratique

Lecture de fichiers

Supposons que fileobj = open("input.txt") a déjà été exécuté pour chacune des questions ci-dessous.

input.txt :

    Hello world!
    How are you?
4.
Quelle est la manière correcte d'utiliser la fonction read() pour lire le contenu de input.txt dans une chaîne file_str ?
  1. file_str = read(fileobj)
  2. file_str = read("input.txt")
  3. file_str = fileobj.read()
5.
Quelle est la manière correcte d'utiliser la fonction readlines() ?
  1. file_lines = readlines(fileobj)
  2. file_lines = fileobj.readlines()
6.
Qu'affiche l'exécution de print(fileobj.readline()) ?
  1. La première ligne de input.txt est affichée.
  2. Le contenu du fichier input.txt est affiché.
  3. Error

À vous d'essayer

Lecture à partir d'un fichier

Ouvrez le fichier test.txt et affichez le contenu du fichier.

À vous d'essayer

Lecture d'un fichier ligne par ligne

Le fichier input.txt est présenté ci-dessous. Le fichier représente un ensemble d'entiers. La ligne 1 du fichier indique combien d'entiers suivent. Écrivez un programme qui lit ce fichier et détermine la moyenne des nombres qui suivent la première ligne.

input.txt

    n: 5
    25
    13
    4
    6
    19