我不熟悉python编码,我想知道是否有人能解释为什么这段代码在第二次尝试时有效,但在第一次尝试时无效?
我只是想打开一个不是默认的浏览器。
首次尝试-->无效
import webbrowser
url='https://www.mozilla.org'
webbrowser.register('firefox', None)
webbrowser.BackgroundBrowser("C:\\Program Files\\Mozilla Firefox\\firefox.exe")
webbrowser.get('firefox').open(url)
webbrowser.Error: could not locate runnable browser
Process finished with exit code 1
第二次尝试-->有效
import webbrowser
url='https://www.mozilla.org'
webbrowser.register('firefox', None, webbrowser.BackgroundBrowser("C:\\Program Files\\Mozilla Firefox\\firefox.exe"))
webbrowser.get('firefox').open(url)
Process finished with exit code 0
1条答案
按热度按时间rggaifut1#
就像你在这里看到的,
register
告诉python在哪里可以找到名为“firefox”的webbrowser。您必须传递一个示例(BackgroundBrowser
)或者一个构造器。在第一个代码段中,您将none作为构造函数传递,该构造函数不是有效的浏览器类,因此它无法找到/创建浏览器,也无法注册它。在第二个片段中,您传递了BackgroundBrowser
示例,因此它可以将此有效浏览器注册为“firefox”,您可以稍后运行它。第五行(
webbrowser.BackgroundBrowser...
)在第一段代码中,基本上什么都不做,您应该将其作为register
就像你在第二段中所做的那样。