[python] Procházení souboru cyklem

Jirka Vejrazka jirka.vejrazka na gmail.com
Středa Srpen 29 22:08:28 CEST 2007


Ahoj,

  delal jsem to obema zpusoby, tady bych regularni vyraz nepouzil (az
zitra budu v praci, muzu prihodit kompletni priklad s re, ktery slouzi
ke konverzi mezi dvema formaty Wiki).

Co takhle?

def source_text(self, source_file):
    fh = open(source_file, 'r')
    kopiruj = False
    vysledek = []
    for line in fh:
        if ':/tohleChci:' in line:
            kopiruj = False
        if ':tohleChci:' in line:
            kopiruj = True
        if kopiruj:
            vysledek.append(line)
     fh.close()
     return '\n'.join(vysledek)

  Nevim nektere podstatne veci, jako treba jestli jsou "znacky" na
radku samotne, jestli muzou byt obe na jednom radku, jestli je vic
"bloku" v jednom textu a tak. Podle toho by se to muselo upravit.

  Ja se obecne snazim vyhybat readlines() - zbytecne to kopiruje data
do pameti. Pokud bych napriklad vedel, ze je tam hledany blok jenom
jednou, za 'if :/tohleChci' in line bych udelal "break" a nemusel bych
ani ten soubor docitat.

  Snad to pomuze

     Jirka


Další informace o konferenci Python