askopenfilenames 选择多个文件
我在一个Unix平台上使用Python 3.3。我看到很多例子中,下面的代码可以正常工作,但我遇到了问题。当我选择多个文件时,弹出了一个错误信息框,内容是:"File /python/input_files/file1.txt file2.txt" does not exist
。这个错误是有道理的(因为它试图打开一个包含多个文件的字符串),但我不明白为什么其他人没有遇到这个问题,我该怎么解决呢?selectFiles
是通过一个按钮来调用的。感谢任何帮助。
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilenames
def selectFiles(self):
files = askopenfilenames(filetypes=(('Text files', '*.txt'),
('All files', '*.*')),
title='Select Input File'
)
fileList = root.tk.splitlist(files)
print('Files = ', fileList)
这是完整的代码:
#!/usr/local/bin/python3.3
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilenames
class multifilesApp(Frame):
def __init__(self,master=None):
Frame.__init__(self,master)
def initializeUI(self):
self.master.title('Select Files Application')
self.grid(row=0, column=0,sticky=W)
# Create the button to select files
self.button1 = Button(self.master, text='Select Files', command=self.selectFiles, width=10)
self.button1.grid(row=30, column=0)
def selectFiles(self):
files = askopenfilenames(filetypes=(('Text files', '*.txt'),
('All files', '*.*')),
title='Select Input File'
)
InputFileList = root.tk.splitlist(files)
print('Files = ', InputFileList)
# Begin Main
if __name__ == "__main__":
root = Tk()
root.minsize(width=250, height=400)
root.geometry("1200x800")
# Call the parser GUI application
app = multifilesApp(master=root)
app.initializeUI()
app.mainloop()
1 个回答
0
可能在Sun4u上,Tcl/Tk有问题。
试着运行Tcl/Tk中的示例(example.tcl)。
package require Tk
set filename [tk_getOpenFile -multiple true]
puts $filename
运行(可能是):
tclsh example.tcl