[python] odstraneni radku v souboru
Petr Prikryl
PrikrylP na skil.cz
Čtvrtek Říjen 6 13:27:10 CEST 2005
Ke geonovým radám přidám návrh jednoduchého řešení,
které vychází z předpokladu, že v každé sekci stačí
eliminovat řádky, které už se v ní vyskytují. Využívá
se k tomu objekt typu množina:
====================================================
fin = file('vstup.txt')
fout = file('vystup.txt', 'w')
processed = set() # prazdna mnozina jiz zpracovanych
for line in fin:
if line[0] not in '* \t':
# Novy nazev souboru, zaciname sbirat dalsi sekci.
fout.write(line)
processed.clear()
else:
# Sbirame unikatni radky sekce.
if line not in processed:
processed.add(line)
fout.write(line)
fin.close()
fout.close()
====================================================
geon...
> Neodpovím detailně, ale obecně: Soubory jsou "immutable",
> tedy nemůžeš
> je na místě změnit. Takže se to "obchází" asi takhle:
>
> * načíst soubor do proměnné
> * proměnou upravit, změnit
> * smazat (zazálohovat) soubor
> * proměnnou uložit do souboru.
>
> Modifikace jsou možné, třebas u dlouhého souboru postupné načítání a
> zpracovávání do řetězce, a pak to je již stejné.
> Nebo ti šlo koknrétně o to, jak nastavit if aby ti to vybíralo to co
> chceš? Nebo snad tvorba názvů souborů?
>
> Jinak doporučuje také wiki, možná se ti bude hodit
> http://www.py.cz/HledaniRetezce
> Ahoj
> geon
>
> Martin Jedlička napsal(a):
>
> > Zdravim,
> >
> > mel bych takovy dotaz. Mam soubor, ktery obsahuje napr. toto:
> >
> > *nazev souboru1*
> > * 1.2:
> > KOD-01-01-01-14
> > * 1.2:
> > KOD-01-01-01-13
> > * 1.1.1.1:
> > KOD-01-01-01-01
> > *nazev souboru1*
> > * 1.1.1.1:
> > KOD-01-01-01-14
> > * 1.1.1.1:
> > KOD-01-01-01-13
> > * 1.1.1.1:
> > KOD-01-01-01-01
> > a potreboval bych odstranit nadbytecne radky, ktere obsahuji stejna
> > cisla za hvezdickou (ktere se uz vyskytlo), tak aby se tam
> zustal vzdy
> > jen ten prvni radek s prvnim cislem. Toto by se melo
> provest vzdy pro
> > kazdy ten blok zacinajici *nazev souboru1-n*. Melo by to vypadat v
> > konecne verzi takto:
> >
> > *nazev souboru1*
> > * 1.2:
> > KOD-01-01-01-14
> > KOD-01-01-01-13
> > * 1.1.1.1:
> > KOD-01-01-01-01
> > *nazev souboru1*
> > * 1.1.1.1:
> > KOD-01-01-01-14
> > KOD-01-01-01-13
> > KOD-01-01-01-01
> > jak to mam udelat?
> >
> > diky moc za kazdou radu.
> >
> > Martin
> >
> >
> >-------------------------------------------------------------
> -----------
> >
> >_______________________________________________
> >Python mailing list
> >Python na py.cz
> >http://www.py.cz/mailman/listinfo/python
> >
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>
Další informace o konferenci Python