通常我使用 Ruby,由于我安装了一些 gem,所以我没有这个问题,但对于 Python,我不知道如何处理这个问题。 我在 Windows 机器上,使用 WSL/Ubuntu 通过 VS Code 进行开发。
一个简单的脚本,例如
import webbrowser
webbrowser.open('https://inventwithpython.com/')
什么也不做,返回 False,没有其他信息。我知道这意味着无法打开浏览器,我怀疑这是由于子系统无法访问(或不知道如何访问)为 Windows 操作系统设置的默认浏览器。 问题是这有点超出了我知道如何做的范围。
我通过以下方式找到了解决方法...
import subprocess
subprocess.run(["cmd.exe", "/c", "start", "https://inventwithpython.com/"])
但是我猜测这段代码无法在所有“正常”系统上运行。 我想知道是否还有其他我可以使用的解决方法,仍然使用上面提到的 .open() 方法。
要从 Windows 上的 Linux 子系统(如 WSL)在 Python 中打开 URL,如果 webbrowser.open() 方法尝试使用 Linux 浏览器,则可能会遇到问题,因为它可能不会直接链接到基于 Windows 的浏览器。为了保证兼容性,您可以使用 cmd.exe 和启动命令来指定 Windows 浏览器路径,如下所示:
蟒蛇 复制代码 导入网页浏览器 webbrowser.get('cmd /c start').open('http://example.com') 或者,修改环境变量或 Python 的网络浏览器配置以定位 Windows 浏览器路径可以帮助实现兼容性。
对于那些对 海得拉巴 Python 培训感兴趣的人来说,掌握这些集成对于跨平台开发非常有用。