[python] odstraneni radku v souboru

Petr Prikryl PrikrylP na skil.cz
Pátek Říjen 7 12:46:16 CEST 2005


... jedno spíš rychlé, než krásné řešení...
 
==============================================
fin = file('vstup.txt')
 
mnozina = set()
fname = ''
sec = ''
kod = ''
 
for line in fin:
    if line.strip() == '':
        continue    # preskakujeme prazdne radky
        
    if line[0] != ' ':
        fname = line.strip()      # Nazev souboru. 
 
    elif line[1] == '*':
        sec = line[2:].strip()    # Identifikace sekce.
 
    else:
        kod = line.strip()
        assert kod.startswith('KOD')
        mnozina.add('%s|%s|%s' % (fname, sec, kod))
        
fin.close()
 
# Serazeny seznam.
lst = sorted(list(mnozina))
 
fout = file('vystup.txt', 'w')
 
fname = ''
sec = ''
 
for item in lst:
    f, s, k = item.split('|')
    
    if f != fname:
        fname = f
        sec = ''
        fout.write('\n' + fname + '\n')
 
    if s != sec:
        sec = s
        fout.write(' * %s\n' % sec)
 
    fout.write('     %s\n' % kod)
            
fout.close()
==============================================
 
pepr


________________________________

	From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of Martin Jedlička
	Sent: Thursday, October 06, 2005 2:05 PM
	To: python na py.cz
	Subject: [python] odstraneni radku v souboru
	
	
	jo, diky toto funguje super az na jednu vec. Pokud v tom souboru nejsou ty cisla za hvezdickou serazeny, tj. vypada to napr. takto:
	 
	nazev souboru1
	 * 1.3:
	     KOD-01-01-01-06
	 * 1.4:
	     KOD-01-01-01-04
	 * 1.4:
	     KOD-01-01-01-13
	 * 1.3:
	     KOD-01-01-01-01
	 * 1.3:
	     KOD-01-01-01-02
	 * 1.3:
	     KOD-01-01-01-05
	 * 1.3:
	     KOD-01-01-01-07
	 
	tak to udela toto:
	 
	
	nazev souboru1
	 * 1.3:
	     KOD-01-01-01-06
	 * 1.4:
	     KOD-01-01-01-04
	     KOD-01-01-01-13
	     KOD-01-01-01-01
	     KOD-01-01-01-02
	     KOD-01-01-01-05
	     KOD-01-01-01-07
	 
	a melo to udelat tohle:
	 
	nazev souboru1
	 * 1.3:
	     KOD-01-01-01-06
	     KOD-01-01-01-01
	     KOD-01-01-01-02
	     KOD-01-01-01-05
	     KOD-01-01-01-07
	 * 1.4:
	     KOD-01-01-01-04
	     KOD-01-01-01-13
	
	
	co s tim?
	 
	diky

------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20051007/68583326/attachment.htm


Další informace o konferenci Python