Práca so súbormi
Vstup a výstup
Na otvorenie súboru sa používa funkcia file(). Tá vyžaduje dva argumeny. Prvým je meno súboru, ktorý chceme otvoriť.
To môžeme zadať pomocou premennej, alebo zapísať priamo ako reťazec. Druhý argument určuje režim, ktorý
hovorí, či daný súbor otvárame na čítanie (r) alebo na zápis (w).
Otvoriť súbor môžeme aj pomocou funkcie open(). Tá ma tie isté parametre ako funkcia file().
subor = file("menu.txt", "r") # súbor menu.txt otvoríme na čítanie
for riadok in subor: # súbor načítame do zoznamu riadkov
print riadok # a každú položku zoznamu (riadok) vypíšeme
subor.close() # nakoniec súbor zavrieme
Načítané riadky predchádzajúceho príkladu už na konci obsahujú znak konca riadku. Príkaz print taktiež pridá svoje konce riadku a to spôsobí, že výstup bude obsahovať prázdne riadky.
Tomuto problému sa dá vyhnúť použitím metódy rstrip(), ktorá na konci reťazca odstráni všetky biele znaky.
Existujú aj príbuzné metódy lstrip() a strip(), ktoré odstraňujú biele znaky zľava, resp. z obidvoch koncov reťazca.
for riadok in subor:
print riadok.rstrip() # odstránenie bieleho znaku z konca reťazca
Je možné taktiež vypísať práve jeden riadok na danej pozícii.
subor = open("menu.txt","r") # otvoríme súbor menu.txt
lines = subor.readlines() # vráti zoznam riadkov
print lines[0] # vypíše prvý riadok súboru
Python umožňuje kopírovať aj jeden súboru do druhého.
subor = open("ahoj.txt","r") # najprv otvoríme súbor na čítanie a na zápis
copia = open("ahoj.bak","w")
for line in subor: #
copia.write(line) # riadky súboru ahoj.txt skopírujeme do nového súboru ahoj.bak
print "subor skopirovany"
subor.close() # nakoniec obidva súbory zavrieme
copia.close()
Použitím módu a je možné pridať nové informácie na koniec súboru.
subor = open("ahoj.txt","a") # otvorenie súboru ahoj.txt a použitie módu a
subor.write("Mám sa OK.") # na koniec súboru pridáme reťazec Mám sa OK.
subor.close() # nakoniec súbor zavrieme

