Beolvasás txt fájlból, helyközzel elválasztott adatok esetén:

fajl = open(‘valami.txt’)
forras = fajl.read().splitlines()
fajl.close()

Ekkor a fájl minden sora a forras lista 1-1 eleme lesz. Ha a sorokban szóközzel elválasztott adatok vannak, így rakhatjuk ezeket az adatok listába:

adatok = [sor.split(‘ ‘) for sor in forras]

Ha pl. csak a 3. sortól kell az adatokat tárolni:

adatok = [forras[i1].split(‘ ‘) for i1 in range(2,len(forras))]

Vannak olyan esetek, amikor nem engedik beolvasni a teljes fájlt, mert túl nagy lenne, nem lehetne tárolni a memóriában. Ilyenkor soronként is végiglépkedhetünk a fájlon. Fontos, hogy a read() a sorvégi \n karaktereket is beolvassa, ettől meg kell szabadulni.

Pl. a szoveg.txt fájl minden sorában egy-egy szó (és még egy \n karakter) van, és a leghosszabbat kell kiválasztani.

fajl = open(‘szoveg.txt’)
leghosszabb = ”
for sor in fajl:
    if len(sor[0:len(sor)-1])>len(leghosszabb):
         leghosszabb = sor[0:len(sor)-1]
fajl.close()
print(‘A leghosszabb szó:’,leghosszabb)

 

Fájl írásra megnyitása:

fajl = open(‘kepviselok.txt’,mode=’w’,encoding=’utf-8′)

Általában így használjuk: fajl = open(‘kepviselok.txt’,’w’)

 

Csak az utf-8-cal írja ki rendesen az ékezetes karaktereket!

 

Addig nem ír semmit a fájlba, amíg a close()-zal le nem zárjuk.

Írás fájlba: print(valami, file=fájlazonosító), de a fájlazonosító.write(valami) is működik.

News Reporter