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()
?