【问题标题】:Need to run shell command from Python script and store in a variable [duplicate]需要从 Python 脚本运行 shell 命令并存储在变量中 [重复]
【发布时间】: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)

标签: python python-2.7 subprocess


【解决方案1】:

您需要将参数手动拆分为一个序列,而不仅仅是传递一个字符串(在 Linux 上传递整个字符串需要 shell=True,但会引入各种安全/稳定性风险):

python_var = subprocess.check_output(['/opt/PPPP/QQQ/my_cmd', '-option1', '-option2', '/opt/XXXX/YYYY/ZZZZZ/my_file'])

【讨论】:

  • 我认为这是重复的。
猜你喜欢
  • 2015-04-19
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-02
相关资源
最近更新 更多