请教一个 PYTHON 运维的问题: stdout.read(),stderr.read()当需要返回 TOP 命令结果如何实现

2014-12-11 20:14:25 +08:00
 skycity
def zhixing():
stdin,stdout,stderr = s.exec_command(cmd)
cmd_result = stdout.read(),stderr.read()
for line in cmd_result:
print line


------------------------------------

这是代码,请问如果是一些变化的命令执行,比如TOP,怎么实现变化的命令PRINT呢
不好意思,初学PYTHON。。。。其实没学,直接拿来用了
9541 次点击
所在节点    问与答
4 条回复
vayn
2014-12-11 20:33:30 +08:00
不打印 new line 符,然后 stdout.flush 就可以显示你要的效果了
vayn
2014-12-11 20:35:11 +08:00
skycity
2014-12-11 20:52:05 +08:00
@vayn
def zhixing():
stdin,stdout,stderr = s.exec_command(cmd)
# cmd_result = stdout.read(),stderr.read()
print stdout.read()
# for line in cmd_result:
# print line
print "--------Result from? %s -------" % host

改成这样后还是不行哎,执行TOP命令,显示为空
vayn
2014-12-11 22:02:56 +08:00
@skycity
http://gist.github.com/Vayn/3d4468069edae7e3115f
你想要的是这种效果吗?(虽然不知道意义合在

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/153232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX