2011-07-19 91 views
1

測試功能

def GetTestFile(): 
    sshConn = paramiko.SSHClient() 
    sshConn.load_system_host_keys() 
    sshConn.connect(host, port, usrnm, pwrd) 
    (connin, out, err) = sshObj.exec_command("cat test.txt") 
    print out.readlines() 
    lines = [] 
    for i in out.readlines(): 
     lines = lines.append(i) 
     print lines 
    print "Lines: ", lines 
    sshConn.close() 

正如你知道這個執行遠程服務器上的一個簡單的貓,我想傳遞出的內容,以但當它輸出爲[](我檢查for循環似乎並沒有執行某些奇怪的原因)的paramiko-蟒蛇exec_command()不能在信道類型元組工作:(

回答

1

list.append方法不返回列表,它是一個就地附加。你想要

for i in out.readlines(): 
    lines.append(i) 
    print lines 
+0

由於某種原因,它似乎無法進入for循環。 – melsk

+0

我發現了這個問題。 'out'對象只能迭代一次,然後丟失它的列表。因此for循環不起作用。 – melsk

+0

然後,我會建議不要在那裏打印out.readlines(),因爲無論如何你都會對這些行進行大量的打印。 – TorelTwiddler