首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复第6行的askopenfilename错误

如何修复第6行的askopenfilename错误
EN

Stack Overflow用户
提问于 2019-08-07 17:40:55
回答 1查看 585关注 0票数 0

我开始用名为Tkinter的模块编写GUI,在选择askopenfilename语句按钮时,我的代码仍然有一个错误。这是错误

Tkinter回调跟踪(最近一次调用)中的异常:文件"C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter__init__.py",第1705行, call recent self.func(args)文件"C:\osu2mp4\src\osr2mp4-gui.py",第6行,在SelectOsuFile osu_file = filedialog.askopenfilename(initialdir="C:\User\“+用户名>+ "\Desktop",filetypes=('.osu')中,)文件"C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter\filedialog.py",第375行,在askopenfilename中返回打开(**选项).show()文件"C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter\commondialog.py",行43,以显示s= w.tk.call(self.command,w._options(self.options)) _tkinter.TclError: bad文件类型“,应该是"typeName { ?>extensions .} ?{macType ?macTypes .}?“在3.937秒内完成

我试着调试我的代码,看看是什么问题,但这是一行

代码语言:javascript
复制
import getpass
import tkinter
from tkinter import filedialog

def SelectOsuFile():
    osu_file = filedialog.askopenfilename(initialdir="C:\\User\\" + username + "\\Desktop", filetypes=('*.osu'))
    return osu_file
def SelectOsrFile():
    osr_file = filedialog.askopenfilename(initialdir="C:\\User\\" + username + "\\Desktop", filetypes=('*.osr'))
    return osr_file
def SelectDirectory():
    directory = filedialog.askdirectory(initialdir="C:\\User\\" + username + "\\Desktop")
def Start():
    start = print('Start')

username = getpass.getuser()
root = tkinter.Tk()
root.geometry('480x360')
buttonOsuExtension = tkinter.Button(root, text='Select .osu file', command=SelectOsuFile)
buttonOsrExtension = tkinter.Button(root, text='Select .osr file', command=SelectOsrFile)
buttonSkinFolder = tkinter.Button(root, text='Select skin folder', command=SelectDirectory)
buttonStart = tkinter.Button(root, text='Start', command=Start)
buttonOsuExtension.pack()
buttonOsrExtension.pack()
buttonSkinFolder.pack()
buttonStart.pack()
root.mainloop()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 03:25:29

正如错误所述,您应该将typeNameextension的列表传递给filetypes参数,如下所示:

代码语言:javascript
复制
filetypes=(("OSU files", "*.osu"),)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57399716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档