Python webbrowser在Windows上将页面输出到控制台
我正在Windows上写一个PyGTK应用程序,在一个函数里,我想用webbrowser模块打开一个网页。这本应该是世界上最简单的事情,但结果不是在浏览器中打开,而是把网页的HTML源代码打印到了控制台上。有没有人知道为什么会这样?
相关的代码如下:
oauthURL = ("http://api.twitter.com/oauth/authorize?oauth_token=" + requestToken)
webbrowser.open(oauthURL, 2, True)
我刚在我的Arch Linux笔记本上测试了一下,运行得很好,所以这应该是Windows特有的问题。也许Python找不到可以使用的浏览器?
2 个回答
1
这段代码可以以跨平台的方式打开一个网页:
if sys.platform[:3] == 'win':
try:
os.startfile(oauthURL)
except WindowsError as why:
# your error handling code
print(why)
else:
webbrowser.open(oauthURL, 2, True)
它是基于IDLE的EditorWindow.py中的"python_docs"函数。
3
在Windows系统上,它通常会尝试使用 os.startfile(url)
这个命令来打开默认的网页应用程序,也就是你平时用来上网的浏览器。你可以在命令提示符下输入 start http://www.example.com
来看看这个命令的效果。如果这个命令的效果和你遇到的问题一样,那就说明问题出在这里,你需要重新设置一下Windows里的默认浏览器。
另外,用户也可以通过 BROWSER
这个环境变量来改变这种行为,所以如果上面的方法没有解决问题,你可以检查一下这个设置。