日期:2014-05-16  浏览次数:20968 次

python和linux命令交互方式总结

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

?