python和linux命令交互有两种方式:
1. 直接使用os执行命令
os.system("armory -leg %s"%(host))
这种方式的问题在于命令直接输出到console中了,无法定制。
2.使用pexpect
import pexpect
child = pexpect.spawn ('armory', ['-leg', host])
child.expect([pexpect.EOF,pexpect.TIMEOUT])
hosts=child.before.split("\r\n")
hosts = [host for host in hosts if host !=""]
print ",".join(hosts)
3. 貌似还可以使用os.popen
lines = os.popen("netstat -an|grep ':3306' |awk '{print $5, $6}'").readlines()
更多参考文档:
来源:CSDN
作者:san_yun
链接:https://blog.csdn.net/SAN_YUN/article/details/84518672