Bonjour,
Je suis tout à fait perplexe devant le corrigé d'un exercice (c'est le 2ème déjà dans le même style, et qui me laisse dans le même état de perplexité).
C'est très court, je vous mets mon code :
et le corrigé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 nom_fs = input('Nom du fichier à recopier (Latin-1) : ') nom_fd = input('Nom du fichier destinataire (utf8) : ') fs = open(nom_fs,'r',encoding='Latin-1') fd = open(nom_fd,'w',encoding='utf8') fsr = fs.read() fsrt = fsr.title() fd.write(fsrt) fs.close() fd.close()
Je ne comprends pas l'intérêt d'utiliser .readline().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 nom_fs = input('Nom du fichier à recopier (Latin-1) : ') nom_fd = input('Nom du fichier destinataire (utf8) : ') fs = open(nom_fs,'r',encoding='Latin-1') fd = open(nom_fd,'w',encoding='utf8') while 1 : ch = fs.readline() if ch = '' : break ch = ch.title() fd.write(ch) fs.close() fd.close()
Avec .read() ça fonctionne très bien, il me met bien des majuscules partout dans mon texte. Et je n'ai pas besoin de m'embêter avec une boucle pour un fichier qui va se recopier ligne par ligne.
Donc je ne comprends pas, vraiment.
Alors, je vois 2 options :
1- y quelque chose qui m'échappe, une différence dans les résultats que je ne vois pas ?
2- son code à lui est "seulement" plus beau ?
Merci pour votre aide![]()
Partager