Chapitre 14
14.1 Lecture à partir de fichiers
1.
c.
Le fichier est ouvert et associé à l'objet fileobj. La lecture à partir du fichier sera possible à l'aide de fileobj.
2.
a.
Le fichier doit exister dans le même dossier que le fichier Python afin de pouvoir être ouvert.
3.
b.
Python interprète cette commande comme une tentative du programmeur d'afficher les détails de l'objet. Les détails de l'objet sont affichés. Ex. :
<_io.TextIOWrapper name='newfile.txt' mode='r' encoding='cp1252'>.
5.
b.
La fonction
readlines() est appelée sur fileobj. file_lines est la liste de chaînes de caractères ['Hello world!\n', 'How are you?\n'].
6.
a.
La fonction
readline() lit la ligne suivante d'un fichier. Comme readline() est appelée immédiatement après l'ouverture du fichier, la première ligne est lue. La chaîne résultante
"Hello world!"
est affichée. Notez que readline() inclut le caractère
'\n'
, donc l'affichage comportera un saut de ligne supplémentaire.
14.2 Écriture dans des fichiers
3.
b.
'w'
indique le mode écriture, et newlog.txt sera créé ou écrasé (si newlog.txt existe déjà) et permettra l'écriture.
4.
c.
resources.txt est probablement vide, mais l'état de resources.txt est incertain. Pour s'assurer que le contenu est correctement enregistré, la fonction
close() doit être utilisée.
5.
a.
Le mode écriture écrasera le fichier existant. L'instruction
close() finalise les modifications apportées au fichier.
6.
b.
Le mode ajout ajoute du contenu au fichier existant. resources.txt est ouvert de manière à ce que des ajouts puissent y être effectués.
14.3 Fichiers situés à différents emplacements et manipulation de fichiers CSV
1.
b.
Le chemin suivi du nom de fichier permet d'ouvrir correctement le fichier, et par défaut en mode lecture.
2.
c.
L'utilisation de barres obliques / à la place des barres obliques inverses standard de Windows \ permet au chemin d'être lu correctement. Le chemin suivi du nom de fichier permet d'ouvrir le fichier et, lors de la lecture d'un fichier, le mode lecture est préférable.
4.
a.
Comme les barres obliques inverses dans le chemin Windows apparaissent dans l'argument sous forme de chaîne, ce qui indique habituellement à Python qu'il s'agit d'une séquence d'échappement, les barres obliques inverses doivent être ignorées à l'aide d'un caractère barre oblique inverse supplémentaire \.
5.
a.
Le caractère de retour à la ligne
\n indique l'emplacement des sauts de ligne dans un fichier et est utilisé par la fonction readlines() pour distinguer les lignes.
7.
c.
La première ligne de books.csv est lue dans
csv_read. La première ligne est
'Title, Author, Pages'
, ce qui correspond à la première ligne du fichier.
14.4 Gestion des exceptions
1.
c.
La chaîne
"3-4"
n'est pas un entier, donc la fonction int() lève une ValueError comme précédemment.
3.
b.
Si la ligne ne contient aucun espace, alors
len(parts) ne sera que de 1, et parts[1] sera hors limites.
4.
b.
La fonction
int() lève une ValueError lors de la tentative de conversion de
"one"
en un entier, le programme passe donc à la clause except.
5.
c.
Le programme plante et affiche cette erreur parce que la clause except ne gère pas
ValueError.
6.
b.
Si une clause except ne spécifie aucun type d'erreur particulier, alors tous les types d'erreur sont traités.
14.5 Levée d'exceptions
3.
a.
Une exception peut être levée sans fournir de message d'erreur. Dans ce cas, le message d'erreur est vide, mais le nom de l'exception est tout de même affiché.