Python3:使用asyncssh在ssh服务器上执行命令并追加到列表

时间:2019-01-21 21:19:56

标签: python-3.x

我想使用asyncssh与服务器建立ssh连接,并在其中执行bash命令。然后,对于stdout中的每一行,我都希望将其实时添加到列表中。

我正在使用github问题的示例,但它似乎对我不起作用。我的代码如下:

async def ssh_terminal(cmd):
   results = []
    async with asyncssh.connect(...) as conn:

        async with conn.create_process(cmd,
           stdout=asyncio.subprocess.PIPE,
           stderr=asyncio.subprocess.PIPE) as proc:
            timeout = time.time() + 10

            while proc:
               output = await proc.stdout.readline()
               output.append(results)

我想要做的是显示在终端更新时将输出附加到列表中。以ping命令为例。除了执行我需要的操作外,它还会打印第一行,然后断开连接。

0 个答案:

没有答案