Bestandsafhandeling is een belangrijk onderdeel van elke webapplicatie.
Python heeft verschillende functies voor het maken, lezen, bijwerken en verwijderen van bestanden.
De belangrijkste functie voor het werken met bestanden in Python is de open () functie.
De open () functie heeft twee parameters; bestandsnaam en modus.
Er zijn vier verschillende methoden (modi) voor het openen van een bestand:
"r" - Lezen - Standaardwaarde. Open een bestand om te lezen, foutmelding als het bestand niet bestaat
"a" - Toevoegen - Opent een bestand om toe te voegen, maakt het bestand als het niet bestaat
"w" - Schrijven - Opent een bestand om te schrijven, maakt het bestand als het niet bestaat
"x" - Maken - Maakt het bestand, retourneert een fout als het bestand bestaat
Verder kunt u aangeven welke tekst moet worden gebruikt
"t" - Tekst - standaardwaarde. Tekstmodus
"b" - Binair - Binaire modus (bijv.
Om een bestand te openen om te lezen, volstaat het om te specificeren:
f = open ("demofile.txt")
De code van de code is hetzelfde als:
f = open ("demofile.txt", "rt")
Omdat "r" voor lezen en "t" voor tekst de standaardwaarden zijn, hoeft u dit niet op te geven.
Opmerking: zorg dat het bestand bestaat, anders krijg je een foutmelding.
Stel dat we het volgende bestand hebben, dat zich in dezelfde map bevindt als Python:
demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
Gebruik de ingebouwde open()functie om het bestand te openen .
De open()functie retourneert een bestandsobject, dat een read()methode heeft voor het lezen van de inhoud van het bestand:
f = open("demofile.txt", "r")
print(f.read())
Standaard read()retourneert de methode de hele tekst, maar u kunt ook opgeven hoeveel tekens u wilt retourneren:
Retourneer de 5 eerste karakters van het bestand:
f = open("demofile.txt", "r")
print(f.read(5))
U kunt één regel retourneren met behulp van de readline()methode:
Lees één regel van het bestand:
f = open("demofile.txt", "r")
print(f.readline())
Door readline()twee keer te bellen , kun je de twee eerste regels lezen:
Lees twee regels van het bestand:
f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())
Door de regels van het bestand door te lussen, kunt u het hele bestand regel voor regel lezen:
Doorloop het bestand regel voor regel:
f = open("demofile.txt", "r")
for x in f:
print(x)
Om naar een bestaand bestand te schrijven, moet u een parameter toevoegen aan de open()functie:
"a" - Toevoegen - voegt toe aan het einde van het bestand
"w" - Schrijven - overschrijft alle bestaande inhoud
Open het bestand "demofile.txt" en voeg inhoud toe aan het bestand:
f = open("demofile.txt", "a")
f.write("Now the file has one more line!")
Open het bestand "demofile.txt" en overschrijf de inhoud:
f = open("demofile.txt", "w")
f.write("Woops! I have deleted the content!")
Opmerking: de "w" -methode zal het hele bestand overschrijven.
Gebruik de open()methode om een nieuw bestand in Python te maken met een van de volgende parameters:
"x" - Maken - maakt een bestand aan, retourneert een foutmelding als het bestand bestaat
"a" - Toevoegen - maakt een bestand als het opgegeven bestand niet bestaat
"w" - Schrijven - maakt een bestand als het opgegeven bestand niet bestaat
Maak een bestand met de naam "myfile.txt":
f = open("myfile.txt", "x")
Resultaat: er wordt een nieuw leeg bestand gemaakt!
Maak een nieuw bestand als het niet bestaat:
f = open("myfile.txt", "w")
Als u een bestand wilt verwijderen, moet u de OS-module importeren en de bijbehorende os.remove()functie uitvoeren:
Verwijder het bestand "demofile.txt":
import os
os.remove("demofile.txt")
Om te voorkomen dat u een fout krijgt, wilt u misschien controleren of het bestand bestaat voordat u het probeert te verwijderen:
Controleer of het bestand bestaat en verwijder het vervolgens :
import os
als os.path.exists ("demofile.txt"):
os.remove ("demofile.txt")
else:
print ("Het bestand bestaat niet")
Gebruik de os.rmdir () methode om een volledige map te verwijderen:
Verwijder de map "myfolder":
import os
os.rmdir ("mijnmap")
Opmerking: u is alleen lege map verwijderen.