栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

每日一问之怎么用os.system()函数执行带有变量的指令

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每日一问之怎么用os.system()函数执行带有变量的指令

问题现象:

想执行:

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中的用法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/834869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号