Je bataille depuis .. l'an dernier ... avec "entry":
_______________________________________________________________________
### je veux afficher le contenu du fichier -ça, ça marche- et éventuellement
pouvoir y ajouter ou enlever qqchose -ça marche encore en saisie...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout
disparaît: à la lecture suivante, "ficjour" est vide :-(((
### si l'entry recoit une donnee, enregistrer (si le fichier n'existe pas,
le créer)
if notes <>"" :
f=open(ficjour,'w')
entr1.insert(0,notes),'w'
f.close
________________________________________________________________
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Brunel
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Je bataille depuis .. l'an dernier ... avec "entry": _______________________________________________________________________ ### je veux afficher le contenu du fichier -ça, ça marche- et éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en saisie...
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout disparaît: à la lecture suivante, "ficjour" est vide :-((( ### si l'entry recoit une donnee, enregistrer (si le fichier n'existe pas, le créer) if notes <>"" : f=open(ficjour,'w') entr1.insert(0,notes),'w'
??? D'où sort ce bout de code?
Pour info, voilà ce qu'il fait: 1/ L'appel de entr1.insert insère le contenu de la variable chaîne "notes" dans l'Entry à la position 0. 2/ Un tuple à deux éléments est construit, le premier étant le résultat de l'appel de entr1.insert (qui ne renvoie rien, donc None) et la chaîne 'w'. 3/ Ce tuple est poubellisé, puisque le code n'en fait rien.
Je peux me tromper, mais je n'ai pas l'impression que c'est voulu, non? ;-)
Pour écrire dans un fichier, la méthode write de l'objet fichier me semble plus appropriée. De plus, étant donné que l'Entry est attachée à une StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
f.close
Ce code ne fait rien, la méthode "close" n'étant pas appelée... => f.close()
Pareil! HTH -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
On Thu, 03 Jan 2008 16:29:59 +0100, alainL <jarailet@club-internet.fr>
wrote:
Je bataille depuis .. l'an dernier ... avec "entry":
_______________________________________________________________________
### je veux afficher le contenu du fichier -ça, ça marche- et
éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en
saisie...
Une remarque en passant: une Entry est particulièrement peu adaptée à la
modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout
disparaît: à la lecture suivante, "ficjour" est vide :-(((
### si l'entry recoit une donnee, enregistrer (si le fichier n'existe
pas, le créer)
if notes <>"" :
f=open(ficjour,'w')
entr1.insert(0,notes),'w'
??? D'où sort ce bout de code?
Pour info, voilà ce qu'il fait:
1/ L'appel de entr1.insert insère le contenu de la variable chaîne "notes"
dans l'Entry à la position 0.
2/ Un tuple à deux éléments est construit, le premier étant le résultat de
l'appel de entr1.insert (qui ne renvoie rien, donc None) et la chaîne 'w'.
3/ Ce tuple est poubellisé, puisque le code n'en fait rien.
Je peux me tromper, mais je n'ai pas l'impression que c'est voulu, non? ;-)
Pour écrire dans un fichier, la méthode write de l'objet fichier me semble
plus appropriée. De plus, étant donné que l'Entry est attachée à une
StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que
j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
f.close
Ce code ne fait rien, la méthode "close" n'étant pas appelée... =>
f.close()
Je bataille depuis .. l'an dernier ... avec "entry": _______________________________________________________________________ ### je veux afficher le contenu du fichier -ça, ça marche- et éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en saisie...
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout disparaît: à la lecture suivante, "ficjour" est vide :-((( ### si l'entry recoit une donnee, enregistrer (si le fichier n'existe pas, le créer) if notes <>"" : f=open(ficjour,'w') entr1.insert(0,notes),'w'
??? D'où sort ce bout de code?
Pour info, voilà ce qu'il fait: 1/ L'appel de entr1.insert insère le contenu de la variable chaîne "notes" dans l'Entry à la position 0. 2/ Un tuple à deux éléments est construit, le premier étant le résultat de l'appel de entr1.insert (qui ne renvoie rien, donc None) et la chaîne 'w'. 3/ Ce tuple est poubellisé, puisque le code n'en fait rien.
Je peux me tromper, mais je n'ai pas l'impression que c'est voulu, non? ;-)
Pour écrire dans un fichier, la méthode write de l'objet fichier me semble plus appropriée. De plus, étant donné que l'Entry est attachée à une StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
f.close
Ce code ne fait rien, la méthode "close" n'étant pas appelée... => f.close()
Pareil! HTH -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
alainL
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Je bataille depuis .. l'an dernier ... avec "entry": _______________________________________________________________________ ### je veux afficher le contenu du fichier -ça, ça marche- et éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en saisie... .................
.place(x55,y )
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout disparaît: à la lecture suivante, "ficjour" est vide :-((( ### si l'entry recoit une donnee, enregistrer (si le fichier n'existe pas, le créer) Pour écrire dans un fichier, la méthode write de l'objet fichier me semble
plus appropriée. De plus, étant donné que l'Entry est attachée à une StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
cerise sur le gâteau, comment enlever les [ ] ?
De où?
========================================================================= Merci. Les [ ] de la "boite" entry ...
.............................................. if notes <>"" : f=open(ficjour,'w') f.write(entr1Var.get())
f.close()
Le contenu de la ligne de ficjour s'affiche ['azerty'], la saisie suppl aussi... mais au relancement du prg, la ligne est devenue ["['azerty']"] pas trace du supplement sauf les [''] et le éventuel.
alainL
"Eric Brunel" <see.signature@no.spam> a écrit dans le message de groupe de
discussion : op.t4c1zepfwepdt4@ericb.pragmadev...
On Thu, 03 Jan 2008 16:29:59 +0100, alainL <jarailet@club-internet.fr>
wrote:
Je bataille depuis .. l'an dernier ... avec "entry":
_______________________________________________________________________
### je veux afficher le contenu du fichier -ça, ça marche- et
éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en
saisie...
.................
.place(x55,y )
Une remarque en passant: une Entry est particulièrement peu adaptée à la
modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout
disparaît: à la lecture suivante, "ficjour" est vide :-(((
### si l'entry recoit une donnee, enregistrer (si le fichier n'existe
pas, le créer)
Pour écrire dans un fichier, la méthode write de l'objet fichier me semble
plus appropriée. De plus, étant donné que l'Entry est attachée à une
StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que
j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
cerise sur le gâteau, comment enlever les [ ] ?
De où?
========================================================================= Merci. Les [ ] de la "boite" entry ...
..............................................
if notes <>"" :
f=open(ficjour,'w')
f.write(entr1Var.get())
f.close()
Le contenu de la ligne de ficjour s'affiche ['azerty'], la saisie suppl
aussi... mais au relancement du prg, la ligne est devenue ["['azerty']"] pas
trace du supplement sauf les [''] et le éventuel.
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Je bataille depuis .. l'an dernier ... avec "entry": _______________________________________________________________________ ### je veux afficher le contenu du fichier -ça, ça marche- et éventuellement pouvoir y ajouter ou enlever qqchose -ça marche encore en saisie... .................
.place(x55,y )
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
### et enregistrer la totalité de l'affichage - là, ça ne va plus, tout disparaît: à la lecture suivante, "ficjour" est vide :-((( ### si l'entry recoit une donnee, enregistrer (si le fichier n'existe pas, le créer) Pour écrire dans un fichier, la méthode write de l'objet fichier me semble
plus appropriée. De plus, étant donné que l'Entry est attachée à une StringVar, nul besoin de manipuler l'Entry elle-même. Donc, le code que j'aurais écrit aurait plutôt été:
f.write(entr1Var.get())
cerise sur le gâteau, comment enlever les [ ] ?
De où?
========================================================================= Merci. Les [ ] de la "boite" entry ...
.............................................. if notes <>"" : f=open(ficjour,'w') f.write(entr1Var.get())
f.close()
Le contenu de la ligne de ficjour s'affiche ['azerty'], la saisie suppl aussi... mais au relancement du prg, la ligne est devenue ["['azerty']"] pas trace du supplement sauf les [''] et le éventuel.
alainL
alainL
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça: __________________________________________________ def valider(): affichage['text'] = textejour.get(1.0, END) # permet de vérifier, je le virerai f=open(ficjour,'w') f.write(textejour.get(1.0, END)) f.close() try: f = open(ficjour,'r') except IOError, e: pass else: notes = f.readlines() textejour = Text(fen1,bg='yellow',width7,height(,) textejour.insert(END,notes) affichage = Label(fen1) validation = Button(fen1, text='valider', command=valider) textejour.place(x50,y ) affichage.place(x50,y00) validation.place(xE0,) f.close() __________________________________________________________
cerise sur le gâteau, comment enlever les [ ] ?
De où? Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais l'ouverture suivante redonnera < ['azertyn'] >
Mais bon, j'ai déjà fait un sacré progrès cette année :-)))
alainL
"Eric Brunel" <see.signature@no.spam> a écrit dans le message de groupe de
discussion : op.t4c1zepfwepdt4@ericb.pragmadev...
On Thu, 03 Jan 2008 16:29:59 +0100, alainL <jarailet@club-internet.fr>
wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à la
modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça:
__________________________________________________
def valider():
affichage['text'] = textejour.get(1.0, END) # permet de vérifier, je le
virerai
f=open(ficjour,'w')
f.write(textejour.get(1.0, END))
f.close()
try:
f = open(ficjour,'r')
except IOError, e:
pass
else:
notes = f.readlines()
textejour = Text(fen1,bg='yellow',width7,height(,)
textejour.insert(END,notes)
affichage = Label(fen1)
validation = Button(fen1, text='valider', command=valider)
textejour.place(x50,y )
affichage.place(x50,y00)
validation.place(xE0,y@0)
f.close()
__________________________________________________________
cerise sur le gâteau, comment enlever les [ ] ?
De où?
Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais l'ouverture
suivante redonnera < ['azertyn'] >
Mais bon, j'ai déjà fait un sacré progrès cette année :-)))
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça: __________________________________________________ def valider(): affichage['text'] = textejour.get(1.0, END) # permet de vérifier, je le virerai f=open(ficjour,'w') f.write(textejour.get(1.0, END)) f.close() try: f = open(ficjour,'r') except IOError, e: pass else: notes = f.readlines() textejour = Text(fen1,bg='yellow',width7,height(,) textejour.insert(END,notes) affichage = Label(fen1) validation = Button(fen1, text='valider', command=valider) textejour.place(x50,y ) affichage.place(x50,y00) validation.place(xE0,) f.close() __________________________________________________________
cerise sur le gâteau, comment enlever les [ ] ?
De où? Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais l'ouverture suivante redonnera < ['azertyn'] >
Mais bon, j'ai déjà fait un sacré progrès cette année :-)))
alainL
Eric Brunel
On Thu, 03 Jan 2008 18:43:48 +0100, alainL wrote:
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça: __________________________________________________ def valider(): affichage['text'] = textejour.get(1.0, END) # permet de vérifier, je le virerai f=open(ficjour,'w') f.write(textejour.get(1.0, END)) f.close() try: f = open(ficjour,'r') except IOError, e: pass else: notes = f.readlines() textejour = Text(fen1,bg='yellow',width7,height(,) textejour.insert(END,notes) affichage = Label(fen1) validation = Button(fen1, text='valider', command=valider) textejour.place(x50,y ) affichage.place(x50,y00) validation.place(xE0,) f.close() __________________________________________________________
Le widget Text semble effectivement beaucoup plus adapté...
cerise sur le gâteau, comment enlever les [ ] ?
De où? Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais l'ouverture suivante redonnera < ['azertyn'] >
OK, je n'avais pas vu: le f.readlines() renvoie la *liste* des lignes du fichier, pas son texte en entier. Pour ça, la méthode à utiliser est simplement f.read().
HTH -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
On Thu, 03 Jan 2008 18:43:48 +0100, alainL <jarailet@club-internet.fr>
wrote:
"Eric Brunel" <see.signature@no.spam> a écrit dans le message de groupe
de discussion : op.t4c1zepfwepdt4@ericb.pragmadev...
On Thu, 03 Jan 2008 16:29:59 +0100, alainL <jarailet@club-internet.fr>
wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à
la modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça:
__________________________________________________
def valider():
affichage['text'] = textejour.get(1.0, END) # permet de vérifier,
je le virerai
f=open(ficjour,'w')
f.write(textejour.get(1.0, END))
f.close()
try:
f = open(ficjour,'r')
except IOError, e:
pass
else:
notes = f.readlines()
textejour = Text(fen1,bg='yellow',width7,height(,)
textejour.insert(END,notes)
affichage = Label(fen1)
validation = Button(fen1, text='valider', command=valider)
textejour.place(x50,y )
affichage.place(x50,y00)
validation.place(xE0,y@0)
f.close()
__________________________________________________________
Le widget Text semble effectivement beaucoup plus adapté...
cerise sur le gâteau, comment enlever les [ ] ?
De où?
Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais
l'ouverture suivante redonnera < ['azertyn'] >
OK, je n'avais pas vu: le f.readlines() renvoie la *liste* des lignes du
fichier, pas son texte en entier. Pour ça, la méthode à utiliser est
simplement f.read().
HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
"Eric Brunel" a écrit dans le message de groupe de discussion :
On Thu, 03 Jan 2008 16:29:59 +0100, alainL wrote:
Une remarque en passant: une Entry est particulièrement peu adaptée à la modification d'un fichier en entier, vu qu'elle est mono-ligne...
Merci pour le conseil. J'ai trouvé et bricolé ça: __________________________________________________ def valider(): affichage['text'] = textejour.get(1.0, END) # permet de vérifier, je le virerai f=open(ficjour,'w') f.write(textejour.get(1.0, END)) f.close() try: f = open(ficjour,'r') except IOError, e: pass else: notes = f.readlines() textejour = Text(fen1,bg='yellow',width7,height(,) textejour.insert(END,notes) affichage = Label(fen1) validation = Button(fen1, text='valider', command=valider) textejour.place(x50,y ) affichage.place(x50,y00) validation.place(xE0,) f.close() __________________________________________________________
Le widget Text semble effectivement beaucoup plus adapté...
cerise sur le gâteau, comment enlever les [ ] ?
De où? Du texte qui se trouve re-enregistré:
si je rentre < azerty > le contrôle me donne bien < un > mais l'ouverture suivante redonnera < ['azertyn'] >
OK, je n'avais pas vu: le f.readlines() renvoie la *liste* des lignes du fichier, pas son texte en entier. Pour ça, la méthode à utiliser est simplement f.read().
HTH -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"