Sokat gondolkodtam, megéri-e ennek a modulnak a példáját elkészÃteni – végül úgy éreztem, igen. A modullal olvashatóbb programok készÃthetÅ‘k – bár tény, hogy nem pótolhatatlan.
FONTOS: a modullal helyben módosÃthatóak a fájlok, a példa második felét érdemes megnézni!
A modul picit egyszerűbbé teszi a szöveges fájlok feldolgozását. A fájlokat szöveges módban nyitja meg, emiatt Windows-on bináris fájlok feldolgozására NE használjuk!
# File: fileinput_szovegfajlok_feldolgozasa.py import fileinput import glob # minden e-vel kezodo .py fajl feldolgozasa for sor in fileinput.input( glob.glob("./teszt*.txt") ): if fileinput.isfirstline(): # ha az elso sort dolgozza fel, akkor... print ("-- Fajl: %s --\n" % fileinput.filename() ) print fileinput.lineno(), ". sor, Fileban: ", fileinput.filelineno(), ". sor", sor, # ::::::::::::::::::::::::::::::::::::::: print "\n", "="*15 print "a tesztfajlok eredeti tartalma:" for fajlnev in glob.glob("./teszt*.txt"): print open( fajlnev,'r').read() # ::::::::::::::::::::::::::::::::::::::: # a fajlokat helyben irjuk is, es biztonsagi mentes is keszul az eredeti allapotrol # az iras a standard kimenet atiranyitasat jelenti, a fajlba for sor in fileinput.input( glob.glob("./teszt*.txt"), inplace=1, backup=".backup" ): print fileinput.filelineno(), sor, # ezzel az egy sorral a szovegfajl minden sora ele sorszamot szurtunk be. fileinput.close() #hogy a kovetkezo kimenet ne az utoljara megnyitott fajlba irodjon # ::::::::::::::::::::::::::::::::::::::: print "\na tesztfajlok megvaltoztatott tartalma:" for fajlnev in glob.glob("./teszt*.txt"): print open( fajlnev,'r').read()
# File: fileinput_szovegfajlok_feldolgozasa.out -- Fajl: .\teszt.txt -- 1 . sor, Fileban: 1 . sor kedvencem a vadkorte, mas neven a vackor -- Fajl: .\teszt2.txt -- 2 . sor, Fileban: 1 . sor eszegetnem reggel delben, 3 . sor, Fileban: 2 . sor es delutan hatkor. 4 . sor, Fileban: 3 . sor 5 . sor, Fileban: 4 . sor Husa roppan, leve csorran 6 . sor, Fileban: 5 . sor Harapd gyorsan akkor, =============== a tesztfajlok eredeti tartalma: kedvencem a vadkorte, mas neven a vackor eszegetnem reggel delben, es delutan hatkor. Husa roppan, leve csorran Harapd gyorsan akkor, a tesztfajlok megvaltoztatott tartalma: 1 kedvencem a vadkorte, mas neven a vackor 1 eszegetnem reggel delben, 2 es delutan hatkor. 3 4 Husa roppan, leve csorran 5 Harapd gyorsan akkor,
You must be logged in to post a comment.