我正在尝试编写一个python脚本,允许我ssh到主机,运行curl命令,然后解析命令的输出。
我正在尝试像
这样的东西os.system('ssh HOST')
os.system('curl ...')
但是,curl命令不会在服务器上执行。我进入服务器,但不再与python脚本连接。我需要能够执行curl命令并访问输出,以便我可以解析它。我有什么想法可以做到这一点?谢谢。
答案 0 :(得分:0)
要访问您运行的任何命令的输出,请使用subprocess
模块。它为您运行的os命令提供了很多控制。这是一段代码片段。
import subprocess
process_object = subprocess.Popen(['cat','myfile.txt'],stdout=subprocess.PIPE , stderr = subprocess.STDOUT) ;
output = process_object.stdout.read()
同样,您使用['ssh','HOST','argument2','argument3']
进行实施。我不确定这是否可以修复你的卷曲没有执行问题。但它有助于获得输出。
答案 1 :(得分:0)
在curl(1)
命令ssh(1)
中提供对ssh user@host curl somehost/somefile -o -
的调用。使用python子进程模块获取结果。