2011-11-03 4 views
11

पायथन 3 में tkFileDialog मॉड्यूल कहां है? सवाल Choosing a file in Python with simple Dialog संदर्भ मॉड्यूल का उपयोग कर:पायथन 3 में एक फ़ाइल का चयन

from Tkinter import Tk 
from tkFileDialog import askopenfilename 

लेकिन यह है कि का उपयोग कर अजगर 3 में (Tkinter tkinter को बदलने के बाद) हो जाता है:

Traceback (most recent call last): 
    File "C:\Documents and Settings\me\My Documents\file.pyw", line 5, in <module> 
    import tkFileDialog 
ImportError: No module named tkFileDialog 

अजगर 2.7.2 दस्तावेज़ (docs.python.org) कहते हैं:

tkFileDialog 
Common dialogs to allow the user to specify a file to open or save. 

These have been renamed as well in Python 3.0; they were all made submodules of the new tkinter package. 

लेकिन यह कोई संकेत नए नाम होगा क्या वें से नहीं यहां तक ​​कि एक मानचित्रण देता है, और tkFileDialog के लिए खोज और 3.2.2 डॉक्स में askopenfilename सब पर कुछ भी नहीं देता है (ई नई submodule नाम करने के लिए पुराने नाम)

स्पष्ट कोशिश कर रहा जैक नहीं करता है:।

from tkinter import askopenfilename, asksaveasfilename 
ImportError: cannot import name askopenfilename 

कैसे आप अजगर 3 में askopenfilename() के बराबर कहते हैं?

उत्तर

28

आप tkinter.filedialog को in the docs के रूप में देख रहे हैं।

from tkinter import filedialog 

आप अजगर दुभाषिया में help(filedialog) चलाकर क्या तरीकों/वर्गों filedialog में हैं देख सकते हैं। मुझे लगता है कि filedialog.LoadFileDialog वह है जिसे आप ढूंढ रहे हैं।

8

आप कुछ इस तरह की कोशिश कर सकते हैं:

from tkinter import * 
root = Tk() 
root.filename = filedialog.askopenfilename(initialdir = "E:/Images",title = "choose your file",filetypes = (("jpeg files","*.jpg"),("all files","*.*"))) 
print (root.filename) 
root.withdraw() 
+1

'filedialog' tkinter आयात * से' 'के माध्यम से उपलब्ध नहीं है। आपको 'tkinter.filedialog आयात askopenfilename' से ऐसा करना होगा। – Shule

+1

मैंने अभी तक pesky विंडो को हटाने के लिए root.withdraw() कॉल जोड़ा है। मेरा कोड पायथन 3.4 में ठीक काम करता है – user1741137