嗨,我想建立 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

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

最佳答案

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

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

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

关于python - 在python中逐行读取输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27346014/

10-13 09:45