Как прочитать файл между двумя точками в Python - PullRequest
3 голосов
/ 22 января 2012

У меня есть файл, который выглядит примерно так:

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 значения: имя, версия,а дата?

Ответы [ 3 ]

4 голосов
/ 22 января 2012

Загрузите строку в строку, используя некоторое регулярное выражение:

>>> re.findall(r'NAME (.+) VER (.+) DATE (.+)', 'NAME Test VER 2.00 DATE 1/2/12')
[('Test', '2.00', '1/2/12')]
3 голосов
/ 22 января 2012

Использование регулярных выражений:

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)
0 голосов
/ 22 января 2012

Общее решение, которое не зависит от имен ключей и их порядка

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'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...