【问题标题】:Read output line by line in python在python中逐行读取输出
【发布时间】:2015-02-05 09:37:59
【问题描述】:

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

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

【问题讨论】:

  • 您想一次性写入所有缓冲区。不是吗?
  • 我的主要目的是读取服务器返回的内容并找到特定的行。例如,该行包括“苹果”。如果我一行一行地写,我相信我可以做我想做的事

标签: python ssh paramiko line-by-line


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 2014-01-07
    • 2020-04-08
    • 2019-04-16
    • 2021-08-08
    • 1970-01-01
    • 2011-02-17
    • 2013-12-26
    相关资源
    最近更新 更多