Pau*_*aul 10 python windows tkinter python-3.x
我正在尝试从Python 3.2中的tkinter.filedialog.askopenfilenames()获取文件名列表.
files = askopenfilenames(initialdir="C:\\Users\\BVCAP\\Videos", title="Select files")
self.num_files.set(len(files))
Run Code Online (Sandbox Code Playgroud)
我期望输出是一个元组(或可能是一个列表),每个元素都包含一个文件名.据我所知,它返回一个字符串,其中每个元素都包含在花括号{}中,如下所示:
{C:\Users\BVCAP\File1.txt} {C:\Users\BVCAP\File2.txt}
如果我尝试打印(文件),这就是我得到的.看起来它的格式就像某种类型的列表,但它似乎只是一个字符串.我做错了什么,或者这个函数的输出实际上是一个格式化为文件列表的字符串,我需要自己拆分.
eld*_*his 16
这实际上是自2.6版本的Python发布以来一直存在的Windows版本的错误.您可以在他们的跟踪器上找到问题,并且评论中有一个解决方法(我没有亲自尝试过这种解决方法,因为我在Linux上,它会返回一个正确的元组).从那以后我就不知道修复了,问题没有被标记为已关闭/已解决.
注释中建议的解决方法基本上是这样做的:
master = Tk()
files = askopenfilenames(initialdir="C:\\Users\\BVCAP\\Videos", title="Select files")
files = master.tk.splitlist(files) #Possible workaround
self.num_files.set(len(files))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8317 次 |
| 最近记录: |