1
Amy 原创整理|资料核验:2026-10-30
Python官方文档说明,subprocess.run()返回已结束进程的信息。只有设置check=True,子进程以非零退出码结束时才会抛出CalledProcessError;否则应主动检查returncode,不能仅凭程序走到下一行就报告成功。
教学示例:调用一个只做格式检查的本地工具,如果它发现问题并返回非零状态,使用check=True可让调用方进入异常处理。若需要保留诊断,可设置capture_output=True;text=True则按文本方式读取输出,而非默认的字节数据。
Amy建议:把“成功状态”“标准输出”“错误输出”分开处理,错误信息保留下来再决定下一步。设置timeout能限制等待,但文档也提醒部分平台创建进程的阶段不能立即中断,因此不能将它当作毫秒级总耗时保证。本例只解释进程控制,不会执行任何命令。