Python的webbrowser.open()忽略BROWSER="safari"环境变量问题
解决webbrowser模块忽略BROWSER环境变量打开Chrome的问题
问题原因
macOS 下 Python 的 webbrowser 模块对 BROWSER 环境变量的简单名称(如safari)识别存在偏差,它会优先调用系统默认浏览器或已注册的优先级更高的浏览器(比如你这里的Chrome),导致环境变量设置未生效。
两种解决方法
方法一:修改脚本直接指定Safari
在脚本中通过webbrowser.get()明确指定Safari的启动命令,绕过环境变量的识别问题:
import webbrowser # 直接指定Safari的启动方式 safari_browser = webbrowser.get('open -a Safari %s') safari_browser.open("https://python.org")
方法二:修正BROWSER环境变量的值
执行脚本时,将BROWSER设置为更明确的启动命令,而不是仅浏览器名称:
BROWSER="open -a Safari" python myscript.py
内容的提问来源于stack exchange,提问作者RubenLaguna
相关产品推荐
相关产品推荐

