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找不到浏览器可以使用?
I'm writing a PyGTK application on Windows, and in a function, I'm trying to open a webpage with the webbrowser module. It should be the simplest thing in the world, but instead of opening in a browser, it prints the HTML source of the page to the console. Does anyone know why this would happen?
The code in question:
oauthURL = ("http://api.twitter.com/oauth/authorize?oauth_token=" + requestToken)
webbrowser.open(oauthURL, 2, True)
I tested it on my Arch Linux laptop just now, and it works fine, so this is a Windows-specific problem. Perhaps Python can't find a browser to use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它通常尝试执行的操作(在 Windows 上)是使用 os.startfile(url) 来启动 http url 的默认应用程序。您可以通过在命令提示符下键入
start http://www.example.com
来检查其作用。如果这具有相同的效果,您就知道问题是什么,并且您应该在 Windows 中重新配置默认浏览器。用户可以通过
BROWSER
环境变量覆盖此行为,因此您可能需要检查上述内容是否没有帮助。What it normally tries to do (on Windows) is using
os.startfile(url)
, which launches the default application for http urls. You can check what this does by typingstart http://www.example.com
at the command prompt. If this has the same effect, you know what the problem is, and you should reconfigure your default browser in Windows.This behaviour can be overridden by the user, through the
BROWSER
environment variable, so you might want to check that if the above doesn't help.此代码片段可以处理以跨平台方式打开网页:
它基于IDLE的EditorWindow.py“python_docs”函数。
This code snippet can handle opening a web-page in a cross-platform way:
It is based on IDLE's EditorWindow.py "python_docs" function.