如何在Python subprocess.run()中传递命令行参数?
使用subprocess.run()传递命令行参数
你需要把目标命令中的每个参数(包括--source这类选项和它们对应的值)都作为独立元素添加到subprocess.run()的列表参数中,每个空格分隔的部分都要单独拆分。
正确的代码实现如下:
import subprocess subprocess.run([ "python3", "detect_wrong.py", "--source", "overpass.mp4", "--weights", "./my_coco.pt", "--data", "./data/my_coco.yaml" ])
关键说明:
subprocess.run()的列表参数中,每个命令组件(命令本身、选项、选项值)都要作为单独的字符串元素,不能将选项与对应值合并成一个字符串(比如不能写成"--source overpass.mp4"),否则目标脚本无法正确识别参数。- 如果你的系统中
python命令默认对应Python3,也可以把"python3"替换为"python",根据自身环境配置调整。
内容的提问来源于stack exchange,提问作者AaqilSh
相关产品推荐
相关产品推荐

