我正在尝试制作一个简单的GUI应用程序,使用web浏览器python模块打开程序和网站,但当尝试搜索时,它不会打开web浏览器,但会打开应用程序,有人能帮我吗?代码:
import tkinter as tk
import webbrowser
import os
def todo(TODO):
try:
if TODO== 'pycharm':
os.startfile("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2019.3.3\\bin\\pycharm64.exe")
elif TODO== 'sublime':
os.startfile("C:\\Program Files\\Sublime Text 3\\sublime_text.exe")
elif '.py'or '.txt' or '.csv' or '.ppt' in TODO:
os.open('{}'.format(TODO,os.O_RDWR|os.O_CREAT))
os.startfile('{}'.format(TODO))
elif 'search' in TODO:
url='http://google.com/search?q='+TODO.replace('search','')
webbrowser.open(url)
elif 'facebook' in TODO:
webbrowser.open('https://www.facebook.com/')
elif 'instagram' in TODO:
webbrowser.open('https://www.instagram.com/')
else:
pass
except :
pass
root= tk.Tk()
root.title('To-Do GUI')
entry = tk.Entry(root, font=40, width=35)
entry.grid(row=0,column=0)
entry.focus()
button = tk.Button(root, text="GO", font=40, command=lambda: todo(entry.get()))
button.grid(row=0 ,column=4)
root.mainloop()
问题根本不在于
webbrowser
模块,而是因为这行代码:它总是
True
,需要编写。下面是一个简单的方法:你看不出真正的错误是什么,因为你有一个“裸的”
except:
和pass
和try:
,它隐藏了所有错误,包括那些你从未想到的语法错误。(实际上,还有另一个不同的问题你还没有遇到。)为了避免这种情况,至少在开发和调试期间,我建议您至少将其更改为:
或者更好:
所以你会得到一些线索,知道为什么它没有像你预期的那样运行
更新:
这里有一种更高级的写作方式
elif
:相关问题 更多 >
编程相关推荐