【发布时间】:2016-11-28 21:57:25
【问题描述】:
我想运行一个可以执行 OS (linux) 命令的 python 脚本,我有几个模块可以帮助我做到这一点,比如 os, subprocess 。在 OS 模块中,无法将输出重定向到变量。在 subprocess.popen 中,我无法在参数中使用变量。需要有人帮助寻找替代方案。
我正在尝试从 python 脚本运行一些操作系统命令。例如 df -h 输出。通过使用 os 或 subprocess 等模块可以正常工作。但我无法将这些输出存储到任何变量。
这里无法将此输出保存到变量中。如何将其保存到变量中。
我看到了多个其他选项,例如 subprocess.Popen,但没有得到正确的输出。
下面的程序我使用了 subprocess 模块,但这里我有另一个问题,因为命令很大,我无法在 subprocess.Popen 中使用变量。
【问题讨论】:
-
shantojosee@srv-dcb-erp-mgnt01:~/python> cat ping #!/usr/bin/python import subprocess # 询问用户输入 host = raw_input("输入要ping的主机: ") # 设置 echo 命令并将输出定向到管道 p1 = subprocess.Popen(['ping', '-c 2', host], stdout=subprocess.PIPE) # 运行命令 output = p1. communicate()[0] 打印输出 shantojosee@srv-dcb-erp-mgnt01:~/python>
-
请edit您的问题添加代码,而不是 cmets 部分