在下面的代码之前,我与服务器建立了一个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]
当我打印输出时(使用stdout.print())它看起来不错,但是当我打印b [i]时,变量是空的。
我做错了什么?请帮帮我
谢谢
答案 0 :(得分:1)
您已经在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]