Форум сайта python.su
Доброго времени суток.
Ни как не пойму как создать {key:value,key:value} с помощью PyParsing
—————————————————————————————-
Вот набор данных:
01: PC10-1 Mon 04 Jan 2010 08:25:57 AM EST
File:Pimer/Faila.exe
File:Primer/Faila2.exe
02: PC10-2 Mon 04 Jan 2010 08:25:57 AM EST
03: PC10-3 Mon 04 Jan 2010 08:25:57 AM EST
04: PC10-4 Mon 04 Jan 2010 08:25:57 AM EST
File:Primer/Faila3.exe
05: PC10-5 Mon 04 Jan 2010 08:25:57 AM EST
—————————————————————————————-
Из этого набора данных я получаю:
[]
[]
[]
[]
[]
[]
[]
—————————————————————————————–
А хочу получить:
*******************************************************************************
С помощью стандартного набора данных можно сделать(EXAMPLE:В цикле проверить …), а можно это с PyParsing
Ведь у него есть классы Например DICT???
Офлайн
import sys,os
from pyparsing import *
nbr = Combine(Word(nums,max=2)+':')
fstr = Literal('File:')
nammez = Combine(Word(printables))
name_off = Suppress(nbr|fstr)+nammez
ftoparse = open('ie',“r”)
dict_main = {}
for x in ftoparse:
try:
fstr.parseString(x)
list_values.append(name_off.parseString(x))
dict_main = list_values
except:
list_values =
key_name = name_off.parseString(x)
if dict_main.has_key(key_name):
pass
else:
dict_main = ‘'
print dict_main
==================================
Вот пока так сделал
на выходе получается Вот так
{’PC01':,'PC2':'','PC03':}
Это для примера
Можно получить в качестве dict= value(как список, так и просто строку…)
Отредактировано (Янв. 8, 2010 12:22:55)
Офлайн