Python

Bestanden lezen en schrijven met Python

Bestanden lezen en schrijven met Python

Bestanden worden gebruikt om gegevens op een schijf op te slaan en te ordenen. We gebruiken vaak bestanden wanneer we gegevens permanent op een harde schijf moeten opslaan. Stel bijvoorbeeld dat we een softwaresysteem bouwen dat leerlinggegevens bijhoudt. Nu moeten we de studentgegevens permanent opslaan voor toekomstig gebruik. Voor dit doel kunnen we bestanden gebruiken om gegevens op te slaan, en later kunnen we deze bestanden openen en op elk moment toegang krijgen tot de opgeslagen gegevens.

Het lezen en schrijven van bestanden zijn veel voorkomende functies in Python. Het is gemakkelijk om bestanden te maken, te lezen en te bewerken in Python. Python wordt geleverd met ingebouwde functies voor het lezen en schrijven van bestanden. U kunt bestanden openen, schrijven en lezen met behulp van de ingebouwde functies van Python. De bestandsbewerkingen worden in de volgende volgorde uitgevoerd:

Met Python kun je tekstbestanden en binaire bestanden maken. Tekstbestanden slaan gegevens op in de vorm van tekens en elke regel eindigt in een nieuwe regel ('\n'). In binaire bestanden worden gegevens opgeslagen in de vorm van bytes (1 en 0).

In dit artikel leer je:

Verschillende bestandsmodi in Python

Modi in Python beschrijven het type bewerking dat op het bestand moet worden uitgevoerd. Wanneer u een bestand opent, moet u de modus opgeven. Elk bestand heeft een bestandshandle. De bestandshandle werkt als een cursor die aangeeft waar gegevens moeten worden geschreven en gelezen. Het is een soort locatieaanwijzer. De volgende omvatten enkele van de verschillende toegangsbestandsmodi in Python:

Modus Omschrijving
r Opent het bestand in leesmodus. Deze modus is standaard geselecteerd als u geen enkele modus definieert tijdens het openen van het bestand in Python.
met wie Schrijft een bestand. Deze modus maakt een bestand aan als het bestand nog niet bestaat en overschrijft de gegevens in het bestand.
r+ Wordt gebruikt om het bestand te lezen en te schrijven. Er wordt een fout weergegeven als het bestand niet bestaat.
een Opent het bestand in de toevoegmodus. De bestandshandle bevindt zich aan het einde van het bestand. Deze modus overschrijft de bestaande gegevens niet, maar begint met het schrijven van gegevens aan het einde van het bestand. Er wordt een nieuw bestand gemaakt als het bestand niet bestaat.
een+ Opent het bestand voor lezen en schrijven. Dit opent het bestand in toevoegmodus om te schrijven. De gegevens worden aan het einde van het bestand ingevoegd. Er wordt een nieuw bestand gemaakt als het bestand niet bestaat.
t Opent het bestand in tekstmodus.

Hoe een bestand te openen

Om een ​​bestand in Python te openen, gebruik je de ingebouwde Open() functie. De functie open() heeft twee argumenten als invoer, i.e., de naam van het bestand en de werkingsmodus. Deze functie retourneert het bestandsobject als uitvoer. Het is niet nodig om een ​​module te importeren om de functie open() te gebruiken. Het volgende is de syntaxis van de functie open():

file_object = open ("bestandsnaam", "modus")

Hier vertegenwoordigt 'file_name' de naam van het eigenlijke tekstbestand, terwijl 'mode' de bestandstoegang of bestandsbewerkingsmodus vertegenwoordigt. U kunt ook r voor 'bestandsnaam' plaatsen als de bestandsnaam speciale tekens bevat. De r wordt als volgt geplaatst:

=bestandsobject = open(r“bestandsnaam”, “modus”)

De bestandsnaam kan bijvoorbeeld zijn: “F:\nieuwemap\mijnbestand.tekst"

Hoe maak je een bestand aan

De functie open() kan worden gebruikt om bestanden te maken in Python. Gebruik de toevoegmodus (a) in de functie open() om het bestand te maken. Maak een bestand met de onderstaande code:

file = open("voorbeeld.txt","a")

Hier wordt een nieuw bestandsobject gemaakt. Het bestandsobject heet "bestand".” De naam van het nieuw aangemaakte tekstbestand is “sample.tekst.” Het tekstbestand wordt geopend in de toevoegmodus. Het zal het nieuwe bestand maken als het bestand nog niet bestaat. Nadat u het bestand hebt gemaakt, moet u het bestand op de volgende manier sluiten:

het dossier.dichtbij()

De ingebouwde functie close() wordt gebruikt om het bestand te sluiten.

Gegevens naar een bestand schrijven

Er zijn twee functies in Python die worden gebruikt voor het schrijven van gegevens in een bestand:

  1. schrijven()
  2. schrijflijnen()

De functie write() wordt gebruikt om gegevens van één regel of enkele tekenreeks naar een bestand te schrijven, terwijl de functie writelines() wordt gebruikt om meerdere gegevensregels naar een tekstbestand te schrijven. Laten we enkele voorbeelden bekijken van het schrijven van gegevens naar een bestand.

De functie write() gebruiken

In dit voorbeeld gebruiken we de functie write() om gegevens naar een bestand te schrijven. Het bestand wordt geopend in de schrijfmodus. "\n" wordt geplaatst om het einde van de regel te specificeren.

# een nieuw bestandsobject maken en een bestand openen in de schrijfmodus
file=open("voorbeeld.txt","w")
# enkele regel naar een bestand schrijven
het dossier.write("Welkom bij de linuxhint \n")
# nog een enkele regel naar een bestand schrijven
het dossier.schrijven ("Welkom terug")
#het bestand sluiten
het dossier.dichtbij()

Uitgang:

De regels zijn in de tekstbestanden geschreven.

Als we het bestand in de schrijfmodus openen en de functie write() vragen om meer regels naar het bestand te schrijven, worden de vorige gegevens overschreven en worden nieuwe gegevens aan het tekstbestand toegevoegd.

# een nieuw bestandsobject maken en een bestand openen in de schrijfmodus
file=open("voorbeeld.txt","w")
# schrijven van een enkele regel naar een bestand
het dossier.write("Hallo allemaal \n")
# nog een enkele regel naar een bestand schrijven
het dossier.write("Dit is de vervangen string")
#het bestand sluiten
het dossier.dichtbij()

Uitgang:

In de uitvoer is te zien dat de vorige gegevens worden vervangen en nieuwe gegevens worden toegevoegd op hun plaats in het tekstbestand.

Als we zowel de vorige als de nieuwe gegevens in het bestand willen behouden, dan kunnen we het bestand in de toevoegmodus openen, zoals dit:

# een nieuw bestandsobject maken en een bestand openen in de toevoegmodus
file=open("voorbeeld.txt","a")
# enkele regel naar een bestand schrijven
het dossier.write("Hallo allemaal \n")
# nog een enkele regel naar een bestand schrijven
het dossier.write("Dit is de vervangen string\n")
# nog een nieuwe enkele regel naar een bestand schrijven
het dossier.write("Dit is de nieuw toegevoegde string string\n")
#het bestand sluiten
het dossier.dichtbij()

Uitgang:

De functie writelines() gebruiken

De functie writelines() wordt gebruikt om meerdere regels in een tekst tegelijk te schrijven, als volgt:

# een nieuw bestandsobject maken en een bestand openen in de schrijfmodus
file=open("file1.txt","w")
# meerdere tekenreeksgegevens opslaan in een variabele
str = ["Hallo allemaal\n","Welkom bij de linuxhint\n","we gebruiken de functie Writelines\n"]
# schrijflijnen-functies gebruiken om gegevens in een bestand te schrijven
het dossier.schrijflijnen(str)
#het bestand sluiten
het dossier.dichtbij()

Uitgang:

Een bestand lezen Read

Om een ​​bestand in Python te lezen, opent u eerst het bestand in leesmodus. Er zijn drie ingebouwde functies in Python voor het lezen van een bestand. Deze omvatten het volgende:

  1. lezen()
  2. Lees regel()
  3. leesregels()

lezen(): Gebruikt om de gegevens uit een bestand te lezen; retourneert de hele gegevens in de vorm van een tekenreeks.

Lees regel(): Leest een regel met gegevens uit een bestand; geeft alleen de eerste regel terug.

leesregels(): Leest alle bestaande regels uit een bestand; geeft het terug in de vorm van een lijst.

De functie seek() wordt gebruikt om de positie van de bestandshandle te wijzigen. Bij het lezen van gegevens in het bestand, positioneert de bestandshandle zichzelf aan het einde van het bestand. Een bestandshandle is dus als een cursor, met de functie seek() als middel om de cursor te verplaatsen.

Laten we een voorbeeld bekijken van het lezen van gegevens uit het bestand.

# een bestand openen in leesmodus
file=open("file1.txt","r")
# gebruik de functie read() om de gegevens uit het bestand te lezen
# de regels in een variabele opslaan
data=bestand.lezen()
# de gegevens afdrukken
print("Dit is de output van de read() functie: \n")
afdrukken(gegevens)
# gebruik de functie seek() om de bestandspositie in start te brengen
het dossier.zoeken(0)
# gebruik de functie readline() om de gegevens uit het bestand te lezen
# de regels in een variabele opslaan
data=bestand.Lees regel()
# de gegevens afdrukken
print("Dit is de output van de readline() functie: \n")
afdrukken(gegevens)
# gebruik de functie seek() om de bestandspositie in start te brengen
het dossier.zoeken(0)
# gebruik de functie readlines() om de gegevens uit het bestand te lezen
# de regels in een variabele opslaan
data=bestand.leesregels()
# de gegevens afdrukken
print("Dit is de output van de readlines() functie: \n")
afdrukken(gegevens)
#het bestand sluiten
het dossier.dichtbij()

Uitgang:

Conclusie

Het is vaak nodig om informatie of gegevens op te slaan in een bestand. In Python kun je eenvoudig bestanden maken, schrijven en lezen met behulp van de ingebouwde functies van Python. Het is niet nodig om andere modules in uw programma te importeren als u bestanden wilt lezen, schrijven en maken. U kunt ook meerdere ingebouwde toegangsmodi gebruiken terwijl u de bestanden gebruikt. In dit artikel hebben we met enkele eenvoudige voorbeelden uitgelegd hoe u bestanden in Python kunt lezen en schrijven.

Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...
Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...