您必须在webbrowser.get
调用中使用unix样式的路径:
webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("http://google.com")
这是因为webbrowser
内部shlex.split
在路径上执行,只会删除Windows样式的路径分隔符:
>>> cmd = "C:\\Users\\oreild1\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe %s"
>>> shlex.split(cmd)
['C:Usersoreild1AppDataLocalGoogleChromeApplicationchrome.exe', '%s']
>>> cmd = "C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe %
s"
>>> shlex.split(cmd)
['C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe', '%s']
shlex
如果给定posix=False
关键字参数,实际上webbrowser
将在这里做正确的事情,但即使在Windows上也不会提供。可以说这是一个错误webbrowser
。