我有一个文件看起来像这样:
junk stuff NAME Test File Name VER 2.00 DATE 1/2/12 END useless stuff
另一个:
waste material NAME Test file 2 VER 1.78 DATE 1/8/13 END don't look at me, NOTREAL
如何解析它以获取3个值:名称、版本和日期?
我有一个文件看起来像这样:
junk stuff NAME Test File Name VER 2.00 DATE 1/2/12 END useless stuff
另一个:
waste material NAME Test file 2 VER 1.78 DATE 1/8/13 END don't look at me, NOTREAL
将行加载到字符串中,然后使用一些正则表达式:
>>> re.findall(r'NAME (.+) VER (.+) DATE (.+)', 'NAME Test VER 2.00 DATE 1/2/12')
[('Test', '2.00', '1/2/12')]
使用正则表达式:
import re
line = 'NAME Test VER 2.00 DATE 1/2/12'
s = re.search(r'NAME (.+) VER (.+) DATE (.+)', line)
name = s.group(1)
version = s.group(2)
date = s.group(3)
s = 'NAME Test VER 2.00 DATE 1/2/12'
args = s.split(' ')
vars = {}
for i in xrange(0, len(args), 2):
vars[args[i]] = args[i+1]
print vars # {'DATE': '1/2/12', 'VER': '2.00', 'NAME': 'Test'}