需要从 Python 脚本运行 shell 命令并存储在变量中 [重复]
Posted
技术标签:
【中文标题】需要从 Python 脚本运行 shell 命令并存储在变量中 [重复]【英文标题】:Need to run shell command from Python script and store in a variable [duplicate] 【发布时间】:2019-12-01 10:54:11 【问题描述】:我必须从 python 运行一个 shell 命令并将该命令的输出放入 python 变量中
python_var = subprocess.check_output('/opt/PPPP/QQQ/my_cmd -option1 -option2 /opt/XXXX/YYYY/ZZZZZ/my_file')
【问题讨论】:
/opt/PPPP/QQQ/my_cmd -option1 -option2 /opt/XXXX/YYYY/ZZZZZ/my_file --------- 我想使用选项 option1 运行命令 my_cmd, option2 并将处理来自某个路径的文件 my_file 。生成的输出要存储在变量 python_var 而且.... 似乎是什么问题/问题? 在 Linux 上传递字符串需要shell=True
。或将参数作为列表传递(推荐)
阅读更多关于check_output (Python 2.7)
【参考方案1】:
您需要将参数手动拆分为一个序列,而不仅仅是传递一个字符串(在 Linux 上传递整个字符串需要 shell=True
,但会引入各种安全/稳定性风险):
python_var = subprocess.check_output(['/opt/PPPP/QQQ/my_cmd', '-option1', '-option2', '/opt/XXXX/YYYY/ZZZZZ/my_file'])
【讨论】:
我认为这是重复的。以上是关于需要从 Python 脚本运行 shell 命令并存储在变量中 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
[Python]在python中调用shell脚本,并传入参数-02python操作shell实例
运行无限循环并从“外部”获取命令(例如 shell 或其他脚本)