Python-bestandsafhandeling: creëren, openen, toevoegen, lezen, schrijven

Inhoudsopgave:

Anonim

In Python is het niet nodig om een ​​externe bibliotheek te importeren om bestanden te lezen en te schrijven. Python biedt een ingebouwde functie voor het maken, schrijven en lezen van bestanden.

In deze bestandsafhandeling in Python-zelfstudie leren we:

  • Hoe een tekstbestand in Python te openen
  • Hoe maak je een tekstbestand in Python
  • Toevoegen aan een bestand in Python
  • Hoe bestanden in Python te lezen
  • Hoe een bestand regel voor regel in Python te lezen
  • Bestandsmodi in Python

Hoe een tekstbestand in Python te openen

Om een ​​bestand te openen, moet u het ingebouwde

openfunctie. De Python-functie voor het openen van bestanden retourneert een bestandsobject dat methoden en attributen bevat om verschillende bewerkingen uit te voeren voor het openen van bestanden in Python.

Syntaxis van Python open bestandsfunctie

file_object = open("filename", "mode")

Hier,

  • bestandsnaam: geeft de naam van het bestand dat het bestandsobject heeft geopend.
  • mode: attribuut van een bestandsobject vertelt u in welke modus een bestand is geopend.

Hieronder worden meer details over deze modi uitgelegd

Hoe maak je een tekstbestand in Python

Met Python Write to File kun je een .text-bestand (guru99.txt) maken met behulp van de code, die we hier hebben gedemonstreerd:

Stap 1)

f= open("guru99.txt","w+")
  • We hebben de variabele f gedeclareerd om een ​​bestand met de naam guru99.txt te openen. Open heeft 2 argumenten nodig, het bestand dat we willen openen en een string die de soorten toestemming of bewerking vertegenwoordigt die we op het bestand willen uitvoeren
  • Hier hebben we de letter "w" in ons argument gebruikt, wat aangeeft dat Python naar bestand schrijft en het zal een bestand maken als het niet in de bibliotheek bestaat
  • Plusteken geeft zowel lezen als schrijven aan voor het maken van Python-bestanden.

Stap 2)

for i in range(10):f.write("This is line %d\r\n" % (i+1))
  • We hebben een for-lus die over een bereik van 10 getallen loopt.
  • Gebruik de schrijffunctie om gegevens in het bestand in te voeren.
  • De uitvoer die we willen herhalen in het bestand is "dit is regelnummer", wat we declareren met de functie Python schrijven naar tekstbestand en vervolgens percentage d (geeft een geheel getal weer)
  • Dus in feite zetten we het regelnummer dat we aan het schrijven zijn, dan zetten we het in een regelterugloop en een nieuw lijnteken

Stap 3)

f.close() 
  • Hiermee wordt de instantie van het opgeslagen bestand guru99.txt gesloten

Hier is het resultaat na uitvoering van de code voor het aanmaken van Python-bestand

Als u op uw tekstbestand in ons geval "guru99.txt" klikt, ziet het er ongeveer zo uit

Toevoegen aan een bestand in Python

U kunt ook een nieuwe tekst toevoegen / toevoegen aan het reeds bestaande bestand of een nieuw bestand.

Stap 1)

f=open("guru99.txt", "a+")

Nogmaals, als u een plusteken in de code zou kunnen zien, geeft dit aan dat het een nieuw bestand zal maken als het niet bestaat. Maar in ons geval hebben we het bestand al, dus we zijn niet verplicht om een ​​nieuw bestand voor Python toe te voegen aan de bestandsbewerking.

Stap 2)

for i in range(2):f.write("Appended line %d\r\n" % (i+1))

Hierdoor worden gegevens naar het bestand geschreven in de toevoegmodus.

U kunt de uitvoer zien in het bestand "guru99.txt". De uitvoer van de code is dat een eerder bestand wordt toegevoegd met nieuwe gegevens door Python toe te voegen aan de bestandsbewerking.

Hoe bestanden in Python te lezen

U kunt een bestand in Python lezen door .txt-bestand aan te roepen in een "leesmodus" (r).

Stap 1) Open het bestand in de leesmodus

f=open("guru99.txt", "r")

Stap 2) We gebruiken de modusfunctie in de code om te controleren of het bestand in de open modus staat. Zo ja, dan gaan we verder

if f.mode == 'r':

Stap 3) Gebruik f.read om bestandsgegevens te lezen en sla deze op in variabele inhoud voor het lezen van bestanden in Python

contents =f.read()

Stap 4) Druk de inhoud af voor het gelezen tekstbestand van Python

Hier is de uitvoer van het voorbeeld van het Python-leesbestand:

Hoe een bestand regel voor regel in Python te lezen

U kunt uw .txt-bestand ook regel voor regel lezen als uw gegevens te groot zijn om te lezen. readlines () code zal uw gegevens scheiden in een gemakkelijk leesbare modus.

Wanneer je de code ( f1 = f.readlines ()) uitvoert om het bestand regel voor regel in Python te lezen, zal het elke regel scheiden en het bestand in een leesbaar formaat presenteren. In ons geval is de regel kort en leesbaar, de uitvoer lijkt op de leesmodus. Maar als er een complex gegevensbestand is dat niet leesbaar is, kan dit stukje code nuttig zijn.

Bestandsmodi in Python

Hieronder volgen de verschillende bestandsmodi in Python :

Modus Omschrijving
'r' Dit is de standaardmodus. Het opent een bestand om te lezen.
'w' Deze modus opent een bestand om te schrijven. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt. Als het bestand bestaat, wordt het bestand afgekapt.
'X' Maakt een nieuw bestand aan. Als het bestand al bestaat, mislukt de bewerking.
'een' Open het bestand in de append-modus. Als het bestand niet bestaat, wordt er een nieuw bestand gemaakt.
't' Dit is de standaardmodus. Het wordt geopend in tekstmodus.
'b' Dit opent in binaire modus.
Dit opent een bestand om te lezen en te schrijven (updaten)

Hier is de volledige code voor Python print () naar bestandsvoorbeeld

Python 2-voorbeeld

def hoofd ():f = open ("guru99.txt", "w +")# f = open ("guru99.txt", "a +")voor i in bereik (10):f.write ("Dit is regel% d \ r \ n"% (i + 1))f.close ()#Open het bestand terug en lees de inhoud# f = open ("guru99.txt", "r")# if f.mode == 'r':# content = f.read ()# inhoud afdrukken#or, readlines leest de individuele regel in een lijst#fl = f.readlines ()# voor x in fl:#print xif __name __ == "__main__":hoofd()

Python 3-voorbeeld

Hieronder staat nog een Python print () to File Voorbeeld:

def hoofd ():f = open ("guru99.txt", "w +")# f = open ("guru99.txt", "a +")voor i in bereik (10):f.write ("Dit is regel% d \ r \ n"% (i + 1))f.close ()#Open het bestand terug en lees de inhoud# f = open ("guru99.txt", "r")#if f.mode == 'r':# content = f.read ()# print (inhoud)#or, readlines leest de individuele regel in een lijst#fl = f.readlines ()# voor x in fl:#afdruk (x)if __name __ == "__main__":hoofd()

Overzicht

  • Met Python kun je bestanden lezen, schrijven en verwijderen
  • Gebruik de functie open ("filename", "w +") voor Python om een ​​tekstbestand te maken. De + vertelt de python-interpreter voor Python een open tekstbestand met lees- en schrijfrechten.
  • Gebruik de opdracht open ("Bestandsnaam", " a ") om gegevens aan een bestaand bestand of Python-bewerking voor afdrukken naar bestand toe te voegen
  • Gebruik de Python-functie voor het lezen van bestanden om de HELE inhoud van een bestand te lezen
  • Gebruik de readlines-functie om de inhoud van het bestand één voor één te lezen.