[python] více seznamů z jednoho souboru

David Necas (Yeti) yeti na physics.muni.cz
Neděle Leden 8 22:27:28 CET 2006


On Sun, Jan 08, 2006 at 09:09:11PM +0100, Ondřej Ezr wrote:
> Mßm problÚm nevÝm, jak mohu z nýjakÚho souboru dostat vÝc seznam¨?
> t°eba ze souboru s obsahem:
> 
> ááá [rano]
> ááá vstavat
> ááá snidane
> ááá zuby
> 
> ááá [odpoledne]
> ááá krouzky
> ááá ukoly
> 
> ááá [vecer]
> ááá vecere
> ááá zuby
> ááá televize
> ááá spani
> 
> dostat seznamy:
> ááá rano = [vstavat, snidane, zuby]
> ááá odpoledne = [krouzky, ukoly]
> ááá vecer = [vecere, zuby, televize, spani]
> 
> nebo jakkoli jinak uspo°ßdat ten soubor
> p°edem dýkuji za pomoc

Asi něco v tomto smyslu (nacpe to do slovníku podle sekcí,
globální sekce bude pod None):

def read_file_to_lists(filename):
    lists = {}
    current = None
    for line in file(filename):
        line = line.strip()
        if not line:
            continue
        elif line.startswith('[') and line.endswith(']'):
            current = line[1:-1].strip()
            lists.setdefault(current, [])
        else:
            lists[current].append(line)
    return lists

Výsledkem tedy bude slovník:

{
  'rano': ['vstavat', 'snidane', 'zuby'],
  'odpoledne': ['krouzky', 'ukoly'],
  'vecer': ['vecere', 'zuby', 'televize', 'spani']
}

Yeti


--
That's enough.



Další informace o konferenci Python