需要从 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实例

如何从需要SUDO的php调用shell脚本?

运行无限循环并从“外部”获取命令(例如 shell 或其他脚本)

Linux shell脚本如何自动运行程序并输入命令

shell命令运行带有args的python脚本,这是一个列表[重复]

从 bash shell 脚本调用 Python 脚本 [重复]