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