擅长:python、mysql、java
<p>看起来您正在解析一个固定宽度的结构,<a href="https://docs.python.org/2/library/struct.html#examples" rel="nofollow noreferrer">^{<cd1>}</a>模块在这里很方便。有关示例,请参见<a href="https://stackoverflow.com/questions/4914008/efficient-way-of-parsing-fixed-width-files-in-python">this answer</a>。你知道吗</p>
<p>您要做的是为记录定义格式字符串,然后调用<code>struct.unpack</code>将其转换为一个值元组。您可以将其与<code>namedtuple</code>定义配对,使事物可以通过名称访问。仅使用前几个的有限示例:</p>
<pre><code>from collections import namedtuple
from struct import unpack
Weather = namedtuple('Weather', 'cd station icao iata') # define the fieldnames
metar_fmt = '2s x 16s x 4s xx 3s xx' # 's' represents string, 'x' is "ignore"
w = Weather._make(struct.unpack(metar_fmt, 'AK ANCHORAGE INTL PANC ANC '))
# now you can use your namedtuple by fieldname:
print w.cd, w.station, w.icao, w.iata
if w.station.startswith('ANCHORAGE'):
print w.icao
</code></pre>