Hoe bestanden in Python te lezen en schrijven
Lezen van en schrijven naar bestanden is een veelvoorkomende taak in programmeren, en Python maakt het gemakkelijk met zijn ingebouwde bestandsverwerkingsmogelijkheden. Begrijpen hoe je met bestanden werkt is essentieel voor elke Python-programmeur, omdat het je in staat stelt om gegevensopslag, logging, configuratiebeheer en meer te verwerken. Deze gids behandelt hoe je bestanden opent, leest, schrijft en sluit in Python, en hoe je verschillende bestandsmodi verwerkt.
Bestanden openen en sluiten
In Python gebruikt u de functie open()
om een bestand te openen. De functie open()
retourneert een bestandsobject, dat methoden biedt voor lezen en schrijven. Het is belangrijk om een bestand te sluiten nadat u ermee klaar bent met de methode close()
om systeembronnen vrij te maken.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Bestanden lezen
Er zijn verschillende manieren om de inhoud van een bestand in Python te lezen, afhankelijk van uw behoeften:
Lees het hele bestand
De methode read()
leest de volledige inhoud van het bestand in één enkele tekenreeks.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Regels van een bestand lezen
De methode readline()
leest één regel uit het bestand, terwijl readlines()
alle regels leest en ze als een lijst retourneert.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Bestanden regel voor regel lezen
De voorkeursmethode voor het lezen van een bestand regel voor regel is het gebruiken van een for
-lus direct op het bestandsobject. Deze aanpak is geheugenefficiënt, vooral voor grote bestanden.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Schrijven naar bestanden
Met Python kunt u naar bestanden schrijven met de methoden write()
en writelines()
. U moet het bestand openen in een modus die schrijven ondersteunt, zoals 'w'
(schrijven) of 'a'
(append).
Schrijven naar een bestand
De write()
methode schrijft een enkele string naar een bestand. Het openen van een bestand in schrijfmodus 'w'
zal een nieuw bestand aanmaken of een bestaand bestand overschrijven.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
Toevoegen aan een bestand
Als u een bestand opent in de toevoegmodus 'a'
, kunt u inhoud toevoegen aan het einde van een bestaand bestand zonder de inhoud te overschrijven.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Meerdere regels schrijven
De writelines()
-methode wordt gebruikt om meerdere regels naar een bestand te schrijven. Het verwacht een lijst met strings, die elk een regel vertegenwoordigen.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Bestandsmodi
De functie open()
van Python ondersteunt verschillende modi voor het openen van bestanden:
'r'
- Leesmodus (standaard). Opent een bestand om te lezen.'w'
- Schrijfmodus. Opent een bestand om te schrijven (maakt een nieuw bestand of kapt een bestaand bestand af).'a'
- Append-modus. Opent een bestand om toe te voegen (maakt een nieuw bestand als het nog niet bestaat).'r+'
- Lees- en schrijfmodus. Opent een bestand voor zowel lezen als schrijven.'b'
- Binaire modus. Opent een bestand in binaire modus (gebruikt met'rb'
,'wb'
, etc.).
Conclusie
Lezen van en schrijven naar bestanden in Python is eenvoudig zodra u de basisconcepten en bestandsmodi begrijpt. Door het beheersen van bestandsverwerking kunt u efficiënt gegevens beheren, gebruikersinvoer/-uitvoer verwerken en taken automatiseren die bestandsbewerkingen omvatten. Oefen met deze technieken om vaardig te worden in bestandsbeheer in Python.