<p>我对你的文件的布局有点困惑,但是有什么理由不逐行解析它吗?你知道吗</p>
<pre><code>def parse():
with open('data.txt') as fptr:
for line in fptr:
if line.startswith('WFS'):
for line in fptr:
if line.strip().startswith('-trees'):
result = []
for line in fptr:
if line.strip().startswith('"'):
result.append(line.strip())
else:
return result
</code></pre>
<p>这不太好,但我想会有用的!让我们试试:</p>
<pre><code>In [1]: !cat temp.txt
DEFAULTS
{
FS
{
-A AAA
-B
} -aaaaaa
C
{
}
}
D "FW0"
{
}
WFS "C:" XXXX:"/C"
{
-trees
"/X/Y/Z/C"
"/X/Y/Z/D"
"/X/Y/Z/E"
-A AAA
}
In [2]: %cpaste
Pasting code; enter ' ' alone on the line to stop or use Ctrl-D.
:def parse():
: with open('temp.txt') as fptr:
: for line in fptr:
: if line.startswith('WFS'):
: for line in fptr:
: if line.strip().startswith('-trees'):
: result = []
: for line in fptr:
: if line.strip().startswith('"'):
: result.append(line.strip())
: else:
: return result
:
:
In [3]: parse()
Out[3]: ['"/X/Y/Z/C"', '"/X/Y/Z/D"', '"/X/Y/Z/E"']
</code></pre>