流命令行输入到python2.6

时间:2015-02-13 18:04:52

标签: python-2.7

我想将命令行输入流式传输到python中,以便我可以执行一些计算。有问题的命令是dstat。因为dstat是一个连续的命令,我不认为像command.getouput(' dstat')这样的东西会起作用。我很困惑如何开始这个。我将非常感谢所提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

仅供参考,放弃了这一个。使用开放式/结束式Popen会话和放大器似乎有点复杂。 dstat。我确实在网上找到了一些这样的例子,但比我有时间复杂。在某些时候,我会回到这一点。我相信使用开放/结束的Popen会话可能会有用。

我最终通过mpstat循环。总体目标是获得我们看到的CPU峰值的不同视角。我最终做了以下事情。

#! /usr/bin/python


import os
import commands
import subprocess
import sys

threshold = float(sys.argv[1])
print threshold
print type(threshold)

temp_page = open('/tmp/cpustats.txt', 'ab')

while True:
        cpst = commands.getoutput('mpstat | tail -n 1 | cut -d " " -f1,7,15')
        cpustat = cpst.split()
        if ( (float(cpustat[1])+float(cpustat[2]))>= threshold):
                date = commands.getoutput("date +\%b\" \"\%d\" \"%g\" \"\%I:%M:%S")
                #print cpustat[1], cpustat[2]
                cputotal = float(cpustat[1])+float(cpustat[2])
                temp_page.write("CPU SPIKE ON "+date+" CPU LOAD "+str(cputotal)+"\n")