Práca so súbormi

Porovnanie :: PHP | Perl

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

Porovnávacie príklady

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

Porovnávacie príklady