3

嗨,我想建立 ssh 连接并解析一些数据。我正在使用 paramiko,这是我的代码的一部分:

ssh=ssh_pre.invoke_shell()
ssh.send("display ospf peer brief \n")
output = ssh.recv(10000)

一切正常,直到这部分

buf=StringIO.StringIO(output)
for lines in buf.read()
    print lines

此代码逐行打印字符。我想打印行。我应该怎么办?

4

1 回答 1

2

问题是StringIO.read()返回一个字符串,一个字符序列,而不是行。尝试这样做:

buf=StringIO.StringIO(output)
for lines in buf.read().split("\n"):
    print lines

这将通过换行符拆分缓冲区并创建每行的列表,而不是遍历字符串中的每个单独的字符。

于 2014-12-07T19:06:58.837 回答