Partage
  • Partager sur Facebook
  • Partager sur Twitter

Enregistrer un entry dans un fichier

Python

Anonyme
6 mai 2021 à 21:12:10

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()

Merci d'avance pour votre aide.

  • Partager sur Facebook
  • Partager sur Twitter
6 mai 2021 à 22:37:53

C'est quoi entrée ? Ca sort d'où ?

L'ouverture/fermeture d'un fichier doit être faite avec un with

  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2021 à 3:11:59

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é.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

Anonyme
7 mai 2021 à 8:52:25

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()



  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2021 à 10:50:59

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)

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
7 mai 2021 à 11:42:11

Diablo76 a écrit:

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.

  • Partager sur Facebook
  • Partager sur Twitter
1 février 2024 à 8:27:29 - Message modéré pour le motif suivant : Merci d’utiliser le bouton code pour insérer un code sur le forum


1 février 2024 à 8:50:36

@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 </>

Déterrage

Citation des règles générales du forum :

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

Liens conseillés

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter