如何将链接存入变量并通过os.system()打开?解决Windows运行错误
解决Python打开指定链接的问题
方案一:正确使用webbrowser模块调用默认浏览器
你之前遇到webbrowser模块打开Edge而非默认浏览器的问题,是因为模块在Windows下可能默认调用了Edge的注册表项,改用以下方式可以强制调用系统默认浏览器:
import webbrowser link1 = "https://example.com" # 必须添加http/https协议头 # 获取系统默认浏览器并打开链接 browser = webbrowser.get('windows-default') browser.open(link1)
跨平台兼容写法:
import webbrowser import platform link1 = "https://example.com" if platform.system() == "Windows": webbrowser.get('windows-default').open(link1) else: webbrowser.open(link1)
方案二:修复os.system的命令格式
你的原代码错误在于命令字符串拼接格式不对,尤其是Windows下的start命令使用方式,以及各平台多余的空引号。修复后的代码如下:
import os import platform link1 = "https://example.com" # 必须添加协议头 if platform.system() == "Windows": # Windows下start命令用引号包裹链接,避免特殊字符或空格导致错误 os.system(f'start "" "{link1}"') elif platform.system() == "Linux": os.system(f'xdg-open "{link1}"') elif platform.system() == "Darwin": os.system(f'open "{link1}"')
关键修复说明:
- 链接必须添加
http://或https://协议头,否则系统会将其识别为本地文件而非网页链接 - 使用f-string拼接命令字符串,确保链接被正确包裹在引号中,适配含特殊字符或空格的链接
- Linux和macOS的命令无需多余空引号,移除原代码中的冗余
""
内容的提问来源于stack exchange,提问作者user19973965
相关产品推荐
相关产品推荐

