在python中逐行读取输出

时间:2014-12-07 18:11:39

标签: python ssh paramiko line-by-line

您好我想进行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

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

1 个答案:

答案 0 :(得分:1)

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

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

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