Bonjour,
je cherche la commande qui permette de choisir un fichier interactivement. Un peu comme le choose.Files() de R.
Merci d'avance.
Bonjour,
je cherche la commande qui permette de choisir un fichier interactivement. Un peu comme le choose.Files() de R.
Merci d'avance.
donc obligation de passer par un framework comme Tkinter ou PyQT si je comprends bien.
si tu est sous nux, python-easygui se trouve dans les dépôts ...
tuto ici
Salut,
input ou raw_input fonctionnent bien aussi mais c'est moins convivial.
tkinter est inclus dans Python. Vous pouvez appeler cela "framework" mais, si vous souhaitez réaliser un programme "console" avec des aides qui permettent de récupérer des noms de fichiers de temps en temps.
La base n'est pas si compliquée:
- W
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 >>> import tkinter as tk >>> from tkinter.filedialog import askopenfilename >>> root = tk.Tk() >>> root.withdraw() # pour ne pas afficher la fenêtre Tk '' >>> name = askopenfilename() # lance la fenêtre >>> print (name) C:/src/pyttk-samples-0.1.7/img/add.gif
Merci de votre aide mais cela ne fonctionne pas :
- j'ai changer les lignes 1 & 2 car sur ma machine le T de Tkinter doit être en majuscule et je n'ai pas de filedialog dans Tkinter mais j'ai directement Filedialog au même niveau que Tkinter
- j'ai retirer les lignes 3 à 5 car cela m'ouvre deux fenêtre tk au lieu de ne pas l'afficher ( 1 pour tk.TK et une pour le askopenfile)
- lorsque je fais print (name), ma sortie est vide
Quelle version de Python utilises-tu ?
J'utilise la 2e et le code suivant fait le travail comme il faut :
Le code de wiztricks doit être du Python 3.x où Tkinter est devenu tkinter. Voir la FAQ : http://python.developpez.com/faq/?pa...is#Tkinter2To3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 import Tkinter import tkFileDialog root = Tkinter.Tk() root.withdraw() choice = tkFileDialog.askopenfilename() print choice
EDIT : grillé par wiztricks lui-même ^^
Salut,
Désolé ;-(EDIT : grillé par wiztricks lui-même ^^
Ceci dit, écrire pour Python2:
i
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import Tkinter as tk from tkFileDialog import askopenfilename
et pour Python3:
devrait faire que, le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import tkinter as tk from tkinter.filedialog import askopenfilename
fonctionne de façon identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 root = tk.Tk() root.withdraw() # pour ne pas afficher la fenêtre Tk name = askopenfilename() # lance la fenêtre print (name)
- W
C'était à moi de poster plus viteDésolé ;-(
J'ai vérifié mon intuition : ça fonctionne en Python 2.7.
Merci pour votre aide. J'ai trouvé mon erreur pour le choix de mes données interactivement (une faute de frappe, 27h pour trouver ma c******e) :
Et je tiens à m'excuser car j'ai oublié certaines informations comme la version de Python.
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 # -*- coding: utf-8 -*- """ Created on Mon Sep 17 08:28:50 2012 @author: XXX.XXX """ import Tkinter import tkFileDialog as tFD import numpy as np import glob #choisir le dossier des données root = Tkinter.Tk() root.withdraw() namefolder = tFD.askdirectory() print(namefolder) #lister les fichiers de données data = glob.glob(namefolder+"/*K*.txt") data0 = np.reshape(data,(-1,1)) print(data0) #vérifier la première ligne de chaque fichier de données i = 0 for el in data: data2 = open(data[i]) data3 = data2.readline() i+=1 print(data3) if data3 == "ID X Y M D": print("YES") else: print("NO")
Je dois maintenant trouver comment comparer la première ligne de chaque fichier txt. TROUVE : utilisation des '\t' et '\n'
PS : ma syntaxe en Python est moisie, ne me fouettez pas SVP
Moi je vais te fouetter pour les noms de tes variables : ne connais-tu point d'autres mots que data ??
Il faut donner des noms qui veulent dire quelque chose et qui reflètent ce que les variables contiennent ! Cela facile très grandement la compréhension du code. C'est la best-practice numéro 1 pour moi
[MODE CALIMERO]Mais personne y m'a montrer comment on programme proprement en Python. J'apprends seul, avec mes gros sabots. [MODE CALIMERO OFF]
Je vais peut-être utiliser les def function parce que je vais répéter des bouts de scripts à certains endroits
Ce n'est pas une question de Python en particulier, ça s'applique à tous les langages. C'est comme en français : si tu utilises truc et machin pour désigner tout ce dont tu parles, ça devient difficile de comprendre. C'est pareil en informatique.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager