使用parami执行命令时,stdout输出未保存到list

2024-10-01 09:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的代码之前,我建立了一个到服务器的ssh连接,并尝试获得一些输出。代码如下:

a = [('one','oneFC'),('two','twoH')]
b = [None] * len(a)
for i, item in enumerate(a):
    command = r"ls /home/aaa/ | grep " + item[0] #I need one and two here
    stdin, stdout, stderr = client.exec_command(command)
    print stdout.read()
    b[i] = stdout.read()
    print b[i]

当我打印输出时(使用标准打印())看起来不错,但是当我打印b[I]时,变量是空的。在

我做错什么了?请帮帮我

谢谢你


Tags: 代码服务器noneforreadlenstdoutitem
1条回答
网友
1楼 · 发布于 2024-10-01 09:33:47

您已经阅读了print stdout.read()之后的所有内容。应该省略第一个print语句并直接赋值给b[i]。在

a = [('one','oneFC'),('two','twoH')]
b = [None] * len(a)
for i, item in enumerate(a):
    command = r"ls /home/aaa/ | grep " + item[0] #I need one and two here
    stdin, stdout, stderr = client.exec_command(command)
    b[i] = stdout.read()
    print b[i]

相关问题 更多 >