You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Python subprocess.Popen打开程序报找不到文件错误如何解决

错误原因
  • 代码中传入的open是macOS、Linux环境下用来启动程序、打开文件的终端命令,Windows系统命令行中不存在这个命名的可执行文件,subprocess创建进程时找不到open对应的文件,直接抛出FileNotFoundError,该报错和计算器程序的存储路径无关。
  • 本质是跨平台命令混用导致的问题:三个主流桌面系统的默认唤起命令完全不同,macOS用open、Linux桌面版通用xdg-open、Windows用内置的start,直接照搬其他系统的命令必然报错。
可行修复方案

根据使用场景二选一即可:

  1. 直接启动可执行程序
    计算器本身是独立的exe可执行文件,不需要额外套系统启动命令,直接把程序路径传入Popen就能正常拉起:
    import subprocess
    # 双反斜杠转义的写法
    subprocess.Popen('C:\\Windows\\System32\\calc.exe')
    # 也可以用原生字符串省略转义,效果完全一致
    # subprocess.Popen(r'C:\Windows\System32\calc.exe')
    
  2. 调用Windows系统默认打开逻辑
    如果后续需要打开非可执行类型的目标(比如txt文档、文件夹、网页链接),可以用Windows内置的start命令,注意start是cmd的内置命令,必须加shell=True参数才能正常调用:
    import subprocess
    subprocess.Popen(['start', r'C:\Windows\System32\calc.exe'], shell=True)
    

内容的提问来源于stack exchange,提问作者Evan Gertis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:39:03