回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>{1{我想得到的是一个简单的列表,但我现在可以得到一个简单的列表。脚本下面的示例输出。注意到“VLAN”中的“V”是如何作为自己的项捕获到这个中的?在</p>
<p>我也在想,是否有更好的方法来实现这一点,也许我可以包括一个库来处理将表格数据转换成字典之类的。在</p>
<pre><code>#!/usr/bin/python
import re
import sys
data = """
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7
Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gi0/2
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
"""
lines = re.split("\n([^\s])", data)
print lines
</code></pre>
<p>输出:</p>
<blockquote>
<p>['', 'V', 'LAN Name Status Ports', '-',
'--- -------------------------------- ---------
-------------------------------', '1', ' default active Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7\n<br/>
Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12\n<br/>
Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17\n<br/>
Fa0/18, Fa0/19, Fa0/20, Fa0/21, Fa0/22\n<br/>
Fa0/23, Fa0/24, Gi0/2', '1', '002 fddi-default<br/>
act/unsup', '1', '003 token-ring-default act/unsup',
'1', '004 fddinet-default act/unsup', '1', '005
trnet-default act/unsup\n']</p>
</blockquote>
<p>谢谢!在</p>
<p><strong>编辑</strong>:<strike><code>lines = re.findall(".*[^\n\W]*", data)</code>似乎这是一个更好的方法</strike>(很抱歉,这不起作用),但这整件事还是让人觉得很不好,所以我很乐意听听其他的建议。在</p>