Python 2.7输出的数学运算

时间:2016-07-06 09:48:16

标签: python python-2.7

我对python很新,目前我遇到了一个问题。我可以在BASH中做到这一点,但我想学习python 我需要对远程服务器上执行的命令的输出进行数学运算。

if argument == "hosts":
    output = []
    output.append(os.popen("ssh -q -o ConnectTimeout=40 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no %s cat /home/rb6873/oraclevm | cut -d\| -f3 | cut -d\= -f2 " % host).read().rstrip('\n'))
    print(host)
    for row in output:
        print(row)

现在我不知道接下来该做什么。我试图找到解决办法,但我失败了。

在这种情况下,输出是['50 \ n100 \ n75'],它的类型是列表。这只是一个例子,此输出的长度将因不同的服务器而异。

我想做的是做简单的数学运算 - 从这个输出中总结字符串/行。

有人可以告诉我如何解决我的问题或者至少指出我正确的方向吗?

祝你好运, 扬

1 个答案:

答案 0 :(得分:0)

要获得这些输入的总和,您只需(a)将read()调用中的popen替换为deadlines(),以便每个输入行都成为你的清单; (b)用sum(int(x) for x in output)计算总和。

if argument == "hosts":
    lines = os.popen(...).readlines()
    print(sum(int(x) for x in lines))

但是你可能无法解释它是如何工作的,所以这个答案并没有教你如何使用python;阅读the python tutorial,您会发现它更容易。 立即切换到Python 3. 为什么要学习该语言的过时版本?