bonjour, je suis actuellement en train de suivre le tuto sur python3 de gerard swinnen, et je suis arriver a la partie sur la manipulation des fichiers. Je fais cet excercice :
".Écrivez un script qui permette de créer et de relire aisément un fichier texte. Votre programme demandera d'abord à l'utilisateur d'entrer le nom du fichier. Ensuite il lui proposera le choix, soit d'enregistrer de nouvelles lignes de texte, soit d'afficher le contenu du fichier.
L'utilisateur devra pouvoir entrer ses lignes de texte successives en utilisant simplement la touche <Enter> pour les séparer les unes des autres. Pour terminer les entrées, il lui suffira d'entrer une ligne vide (c'est-à-dire utiliser la touche <Enter> seule).
L'affichage du contenu devra montrer les lignes du fichier séparées les unes des autres de la manière la plus naturelle (les codes de fin de ligne ne doivent pas apparaître)."
j' ai donc fait ce petit script la :
et ca me dit en message d' erreur :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 from os import * def r_file(): try: fd = open(name, 'r') except: print("file not found.") return else: line = fd.read() print(line) fd.close() def ecrire_file(): fd = open(name, 'a') while 1: line = input() if line == '': break else: fd.write(line) fd.close() name = input("entrer nom de fichier: ") print("1: ecrire dans le fichier\n2: lire le fichier\n") while 1: mode = int(input("selection : ")) if mode == 1: ecrire_file() break elif mode == 2: r_file() break else: print("select 1 ou 2.\n")
Traceback (most recent call last):
File "file_creator.py", line 29, in <module>
ecrire_file()
File "file_creator.py", line 15, in ecrire_file
fd = open(name, 'a')
TypeError: an integer is required (got type str)
quelqu' un pourrait me dire d' ou vient le soucis ? parce que je vois mal comment passer mon nom de fichier a ouvrir a open() sous forme d' int.
merci d' avance !
Partager