Skip to Content
Frissített felület ✨ Hozzáférés mindenkinek
PythonFájlkezelés

Fájlkezelés

Fájl megnyitása

A fájl olvasásához vagy írásához először meg kell nyitni a fájlt az open() függvénnyel. Ez a függvény létrehoz egy fájl objektumot, amelyet más támogató módszerek hívására használhatunk.

Különböző módon nyithatunk meg egy fájlt:

example1.py
with open("file_name.txt", "r") as file: # code here
example2.py
file = open("file_name.txt", "r") # code here file.close() # Make sure you close the file after you're done, to free up memory
💡

Példa 1 esetén a fájl objektumhoz hozzáférhetsz, amíg a with blokkban vagy. Példa 2 esetén a fájlhoz hozzáférhetsz, amíg nem zártad be a fájlt, és még a definíció hatókörén belül vagy.

Fájlkezelési módok

A fájlok megnyitásakor különböző módokat használhatunk:

MódJelentése
rOlvasás
aHozzáfűzés
wÍrás
xLétrehozás

A különbség az a és w között az, hogy az a a tartalmat a fájl végéhez fűzi hozzá, míg a w felülírja a fájl tartalmát.

Meghatározhatod, hogy milyen módot szeretnél használni a fájl megnyitásakor:

example.py
file = open("file_name.txt", "r") # Open file in read mode # code here file.close() # Close file file = open("file_name.txt", "w") # Open file in write mode # code here file.close() # Close file

Metódusok

Egész fájl olvasása

example.py
with open("file_name.txt", "r") as file: content = file.read() print(content) # Prints the whole file

Soronkénti olvasás

The readlines() method reads the whole file line by line and returns a list of lines.

example.py
with open("file_name.txt", "r") as file: content = file.readlines() # list[str], the file's content is separated at \n for line in content: print(line) # Prints each line

Adatok szétválasztása

example.py
with open("file_name.txt", "r") as file: content = file.read().split(";") # Separate the content by ; for word in content: print(word) # Prints each word

Fentiek kombinálása

Hasznos, ha soronként szeretnél adatokat olvasni, miközben a tartalmat egy adott karakterrel szeretnéd szétválasztani.

example.py
with open("file_name.txt", "r") as file: result = [] content = file.readlines() for line in content: result.append(line.split(";")) print(result) # Will be a list of lists, that contain the words of each line
Last updated on