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

YOLOv5-Flask项目前端上传文件报错:subprocess执行ls命令失败

问题分析

从报错信息可以明确,错误出现在app.py第26行的subprocess.run("ls")调用中——Windows系统不存在ls命令(ls是Linux/macOS专属的终端目录查看命令),导致系统无法找到指定执行文件,抛出FileNotFoundError。

解决方案

针对该问题,可采用以下几种解决方式:

  • 替换为Windows兼容命令:将ls替换为Windows对应的目录查看命令dir,修改代码为:

    subprocess.run("dir", shell=True)
    

    需添加shell=True参数,让Windows的cmd解释执行该命令。

  • 使用跨平台Python内置方法:避免依赖系统终端命令,直接用Python内置模块实现目录查看,兼容性更强:

    # 用os模块
    import os
    print(os.listdir("."))  # 列出当前目录所有文件/文件夹
    
    # 或用pathlib(更推荐的现代写法)
    from pathlib import Path
    print([item.name for item in Path(".").iterdir()])
    
  • 添加系统判断逻辑:如果需要保留subprocess调用,可先判断操作系统,再选择对应命令:

    import subprocess
    import sys
    
    if sys.platform.startswith('win32'):
        subprocess.run(["dir"], shell=True)
    else:
        subprocess.run(["ls"])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 12:40:08