Pythonic如何使用多台Linux机器?

时间:2015-11-09 20:36:02

标签: python python-2.7 python-3.x

我正在尝试编写一个能够使用多个Linux机器的框架。

例如,我将使用该框架的测试用例能够在linux机器中启动服务器,在另一台Linux机器上启动客户端,然后应该能够在不同的Linux机器上进行一些配置更改等待任何命令完成。

我尝试使用pexpect来完成我的工作,但没有发现它更有用。

任何人都可以建议我使用任何Python模块来完成我的任务吗?

我的测试用例步骤如下:

1. Login to SIP Server -> su -> start SIP server
2. Login to Voice Server -> su -> make some configuration changes
3. Login to SIP client -> su -> start SIP client
4. Collect logs and perform validations

在我的环境中,我无法像su那样直接登录我的机器。

1 个答案:

答案 0 :(得分:2)

你应该考虑使用像python-fabric这样的东西。它允许你使用更高级的语言结构,比如上下文管理器,并且通常可以使用python更好地使用shell。

使用示例:

<强> fabfile.py

from fabric.api import run

def host_type():
    run('uname -s')

然后您可以使用host_type目录中命令行的fabfile.py

$ fab -H localhost,linuxbox host_type
[localhost] run: uname -s
[localhost] out: Darwin
[linuxbox] run: uname -s
[linuxbox] out: Linux