问题现象:
想执行:
os.system("bash /home/mi/zidonghua/psyche_images_V0.0.0.0.XXXXXXX_20220421.0000.00_12.0_cn/flash_all.sh")
执行返回 ok,测试脚本正常运行结束
现在由于脚本路径变了,换成下面这种脚本路径:
b = "/home/mi/zidonghua/" + a[0] + "/flash_all.sh"
os.system("bash" + b)
执行结果就会变成
sh: 1: bash/home/mi/zidonghua/psyche_images_V0.0.0.0.XXXXXXX_20220421.0000.00_12.0_cn/flash_all.sh: not found
这地方把bash识别成路径的一部分了,给拼接到路径最前方,导致执行报错
尝试解决:
经过删选,找到了一个可参考的链接:需要在python中的os.system命令中使用变量 - 问答 - Python中文网
此问答中提供了两种解决方法:
经过尝试发现用format就能解决变量问题
b = "/home/mi/zidonghua/" + a[0] + "/flash_all.sh"
os.system('bash {}'.format(b))
format基础用法可参考:
(4条消息) python中format的用法详解_月夜风雨磊的博客-CSDN博客_format在python中的用法



