Bonjour, j'aimerais enregistrer la valeur d'un entry (qui peut être des lettres ou des chiffres) dans un fichier pour que je puisse le lire par la suite.
Dans le code ci-dessous, j'ai bien un fichier qui se crée mais il reste vide.
def enreg():
"Enregistrer le fichier"
obfichier = open('fichier','a')
if entrée.get():
obfichier.write(entrée.get()+'\n')
obfichier.close()
Mêeme question pour entrée ... en plus, un nom de variable avec des accents ce n'est pas recommandé. J'espère que tu n'est pas sur Windows, un nom de fichier sans extension, c'est fortement à déconseillé. Avec un get() bizarre sans paramètre ... un dictionnaire? @Nephthys: ce n'est pas nécessaire d'avoir un with mais c'est recommandé.
Le Tout est souvent plus grand que la somme de ses parties.
Mêeme question pour entrée ... en plus, un nom de variable avec des accents ce n'est pas recommandé. J'espère que tu n'est pas sur Windows, un nom de fichier sans extension, c'est fortement à déconseillé. Avec un get() bizarre sans paramètre ... un dictionnaire? @Nephthys: ce n'est pas nécessaire d'avoir un with mais c'est recommandé.
Oui je sais. Mais clairement c'est l'usage qu'il convient d'adopter.
La plupart des débutants ne le connaissent pas et restent à la gestion de fichiers "à l'ancienne". Le with à l'avantage de rendre le code plus concis et plus lisible, et le rend plus sûr (aucun risque que le fichier ne soit pas fermé en cas d'exception)
C'est un objet Entry() TKinter et la méthode get() permet de récupérer son contenu.
Je viens de tester et ça fonctionne :
from tkinter import *
def enreg():
if entry.get():
with open("fichier.txt", "a") as f:
f.write(entry.get()+ "\n")
master = Tk()
Label(master, text="Input: ").pack()
entry = Entry(master)
entry.pack()
but = Button(master, text="Ok", command=enreg).pack()
mainloop()
Merci beaucoup ca fonctionne maintenant.
Nephthys a écrit:
PierrotLeFou a écrit:
Mêeme question pour entrée ... en plus, un nom de variable avec des accents ce n'est pas recommandé. J'espère que tu n'est pas sur Windows, un nom de fichier sans extension, c'est fortement à déconseillé. Avec un get() bizarre sans paramètre ... un dictionnaire? @Nephthys: ce n'est pas nécessaire d'avoir un with mais c'est recommandé.
Oui je sais. Mais clairement c'est l'usage qu'il convient d'adopter.
La plupart des débutants ne le connaissent pas et restent à la gestion de fichiers "à l'ancienne". Le with à l'avantage de rendre le code plus concis et plus lisible, et le rend plus sûr (aucun risque que le fichier ne soit pas fermé en cas d'exception)
Oui je suis débutant, c'est pour ça qu'il y a peut-être des erreurs dans mon code.
@karantchojohn Bonjour, merci de ne pas squatter le sujet des autres, créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Le Tout est souvent plus grand que la somme de ses parties.