空新行上的 Python "split"

标签 python

尝试在“空”换行符而不是任何其他换行符上使用 python 拆分。我尝试了其他几个我发现的例子,但似乎都不起作用。

数据示例:

(*,224.0.0.0/4) RPF nbr: 96.34.35.36 Flags: C RPF P
  Up: 1w6d

(*,224.0.0.0/24) Flags: D P
  Up: 1w6d

(*,224.0.1.39) Flags: S P
  Up: 1w6d

(96.34.246.55,224.0.1.39) RPF nbr: 96.34.35.36 Flags: RPF
  Up: 1w5d
  Incoming Interface List
    Bundle-Ether434 Flags: F A, Up: 1w5d
  Outgoing Interface List
    BVI100 Flags: F, Up: 1w5d
    TenGigE0/0/0/3 Flags: F, Up: 1w5d
    TenGigE0/0/1/1 Flags: F, Up: 1w5d
    TenGigE0/0/1/2 Flags: F, Up: 1w5d
    TenGigE0/0/1/3 Flags: F, Up: 1w5d
    TenGigE0/1/1/1 Flags: F, Up: 1w5d
    TenGigE0/1/1/2 Flags: F, Up: 1w5d
    TenGigE0/2/1/0 Flags: F, Up: 1w5d
    TenGigE0/2/1/1 Flags: F, Up: 1w5d
    TenGigE0/2/1/2 Flags: F, Up: 1w5d
    Bundle-Ether234 (0/3/CPU0) Flags: F, Up: 3d16h
    Bundle-Ether434 Flags: F A, Up: 1w5d

I want to split on anything that is a new line online and only a newline.

Example code is below:

myarray = []
myarray = output.split("\n")
for line in myarray:
    print line
    print "Next Line"

我确实导入了“re”库。

最佳答案

当您考虑空行上的内容时,这很容易。它只是换行符,所以在一个空行上拆分将按顺序拆分两个换行符(一个来自前一个非空行,一个是“整个”空行。

myarray = output.split("\n\n")
for line in myarray:
    print line
    print "Next Line"

对于 Python 3:

myarray = output.split("\n\n")
for line in myarray:
    print(line)
    print("Next Line")

如果您想与平台无关,请使用 os.linesep + os.linesep 而不是 "\n\n",如 Lost 的回答中所述。

关于空新行上的 Python "split",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852712/

相关文章:

python - 我想用 Python 为基于桌面的应用程序开发一个框架。我该怎么办?

python - 如何在 div 另一个标签中提取 span 标签

python - 如何从entrycompletion获取entry

python - 使用现有的异步事件循环在 Python 中实现 REST API

python - Selenium 查看一个类并确定该类中有多少元素,最后对找到的所有元素执行操作

python - 如何将 Q-learning 应用于每个时间步执行多个操作的 OpenAI-gym 环境?

python - 如何用python解析facebook api返回的字典字符串列表?

python - 如果我取消注释 for 循环中的 print() 函数, 'groups' 列表将填充空列表而不是结果

python - 如何从Python集合中有效地循环正则表达式搜索

python - 计算矩形面和边缘屏幕之间的距离