Impossible de créer un fichier .txt pour sauvergarder les données d'une app.
Haspic
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Haspic Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Haspic Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je récemment suivi un tuto (https://www.youtube.com/watch?v=jE-SpRI3K5g) pour commencer à apprendre tkinter. Je l'ai donc fini, et tout marche bien quand je lance l'app depuis l'éditeur de code (j'utilise Pycharm).
Sauf que lorsque j'essaie de lancer le programme depuis un fichier .py et non depuis Pycharm, une partie ne fonctionne plus.
Dans le tuto, on créer une app qui permet de stocker de nombreux chemins d'accès de fichier .exe, qui lorsque l'on appuie sur un boutton, sont tous lancé. On sauvegarde aussi les chemins d'accès dans un fichier .txt, qui sont récupérées à la prochaine ouverture de l'app pour éviter de les chercher à nouveau à chaque ouverture de l'app. Depuis Pycharm, le fichier .txt est bien créé et utilisé au redémarrage de l'app. Mais quand je lance depuis un fichier .py, le fichier de sauvegarde n'est pas créé.
Voici le code:
Des idées?
Je récemment suivi un tuto (https://www.youtube.com/watch?v=jE-SpRI3K5g) pour commencer à apprendre tkinter. Je l'ai donc fini, et tout marche bien quand je lance l'app depuis l'éditeur de code (j'utilise Pycharm).
Sauf que lorsque j'essaie de lancer le programme depuis un fichier .py et non depuis Pycharm, une partie ne fonctionne plus.
Dans le tuto, on créer une app qui permet de stocker de nombreux chemins d'accès de fichier .exe, qui lorsque l'on appuie sur un boutton, sont tous lancé. On sauvegarde aussi les chemins d'accès dans un fichier .txt, qui sont récupérées à la prochaine ouverture de l'app pour éviter de les chercher à nouveau à chaque ouverture de l'app. Depuis Pycharm, le fichier .txt est bien créé et utilisé au redémarrage de l'app. Mais quand je lance depuis un fichier .py, le fichier de sauvegarde n'est pas créé.
Voici le code:
import tkinter as tk from tkinter import filedialog, Text import os root = tk.Tk() apps = [] if os.path.isfile("save.txt"): print("et") with open("save.txt", "r") as f: tempApps = f.read() tempApps = tempApps.split(",") apps = [x for x in tempApps if x.strip()] def addApp(): for widget in frame.winfo_children(): widget.destroy() filename= filedialog.askopenfilename(initialdir="/", title="Select File", filetypes=(("executables", "*.exe"), ("all files", '*.*'))) apps.append(filename) print(filename) for app in apps: label = tk.Label(frame, text=app) label.pack() def runApps(): for app in apps: os.startfile(app) canvas = tk.Canvas(root, height=700, width=700, bg="#263D42") canvas.pack() frame = tk.Frame(root, bg='white') frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1) openFile = tk.Button(root, text="Open File", padx=10, pady=5, fg='white', bg="#263D42", command=addApp) openFile.pack() runApps = tk.Button(root, text="Run Apps", padx=10, pady=5, fg='white', bg="#263D42", command=runApps) runApps.pack() for app in apps: label = tk.Label(frame, text=app) label.pack() root.mainloop() with open('save.txt' , 'w') as f: for app in apps: f.write(app + ',')
Des idées?
A voir également:
- Impossible de créer un fichier .txt pour sauvergarder les données d'une app.
- Fichier bin - Guide
- Creer un fichier .bat - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, comment sais-tu que le fichier n'est pas créé?
à part cela, le programme fonctionne correctement?
à part cela, le programme fonctionne correctement?
A part le fait qu'il ne lit pas le fichier non plus si j'en utilise un déjà créé
Et comment je sais que le fichier n'est pas créé, et bien je ne le vois pas là où il devrait être. (là où il est normalement créé quand j'utilise pycharm, entre autre le dans le même dossier que celui du programme)
si j'étais à ta place, je rajouterais un print en ligne 55.