在Python3中选择文件

14 投票
2 回答
58399 浏览
提问于 2025-04-17 05:34

在Python 3中,tkFileDialog模块在哪里呢?这个问题提到的链接是关于如何用简单的对话框选择文件:

from Tkinter import Tk
from tkFileDialog import askopenfilename

但是在Python 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

Python 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.

但是没有给出新名称的提示,而且在3.2.2的文档中搜索tkFileDialog和askopenfilename完全没有结果(甚至没有从旧名称到新子模块名称的映射)。

尝试一些明显的方法也没有用:

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

那么在Python 3中,怎么调用askopenfilename()的等价功能呢?

2 个回答

14

你可以试试这样做:

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

你可以看看 tkinter.filedialog,就像文档里提到的那样,具体可以参考这个链接

from tkinter import filedialog

你可以在 Python 的命令行中输入 help(filedialog) 来查看 filedialog 里有哪些方法和类。我觉得 filedialog.LoadFileDialog 可能就是你需要的东西。

撰写回答