python file handling tutorial
Een intensieve blik op het afhandelen van Python-bestanden met praktische voorbeelden:
In de serie Python-tutorial voor beginners , hebben we er meer over geleerd Python String-functies in onze laatste tutorial.
Python biedt ons een belangrijke functie voor het lezen van gegevens uit het bestand en het schrijven van gegevens naar een bestand.
Meestal worden in programmeertalen alle waarden of gegevens opgeslagen in enkele variabelen die vluchtig van aard zijn.
Omdat gegevens alleen tijdens runtime in die variabelen worden opgeslagen en verloren gaan zodra de uitvoering van het programma is voltooid. Daarom is het beter om deze gegevens permanent op te slaan met behulp van bestanden.
Wat je leert:
- Hoe Python omgaat met bestanden?
- Typen bestanden in Python
- Bewerkingen voor het afhandelen van Python-bestanden
- Codering in bestanden
- Gegevens schrijven en lezen vanuit een binair bestand
- Bestands-I / O-kenmerken
- Python-bestandsmethoden
- Overzicht
- Aanbevolen literatuur
Hoe Python omgaat met bestanden
Als u in een grote softwareapplicatie werkt waarin ze een groot aantal gegevens verwerken, kunnen we niet verwachten dat die gegevens in een variabele worden opgeslagen, aangezien de variabelen vluchtig van aard zijn.
Wanneer u op het punt staat om met dergelijke situaties om te gaan, komt de rol van bestanden in beeld.
Omdat bestanden niet-vluchtig van aard zijn, worden de gegevens permanent opgeslagen op een secundair apparaat zoals de harde schijf en met behulp van python zullen we deze bestanden in onze applicaties verwerken.
Denk je na over hoe Python met bestanden omgaat?
Laten we een Voorbeeld hoe normale mensen met de bestanden omgaan. Als we de gegevens uit een bestand willen lezen of de gegevens naar een bestand willen schrijven, zullen we eerst het bestand openen of een nieuw bestand maken als het bestand niet bestaat en vervolgens de normale lees- / schrijfbewerkingen uitvoeren , sla het bestand op en sluit het.
Evenzo voeren we dezelfde bewerkingen uit in python met behulp van enkele ingebouwde methoden of functies.
Typen bestanden in Python
Er zijn twee soorten bestanden in Python en elk van deze wordt hieronder in detail uitgelegd met voorbeelden voor een gemakkelijk begrip.
Zij zijn:
- Binair bestand
- Tekstbestand
Binaire bestanden in Python
De meeste bestanden die we in ons computersysteem zien, worden binaire bestanden genoemd.
Voorbeeld:
- Document bestanden: .pdf, .doc, .xls enz.
- Afbeeldingsbestanden: .png, .jpg, .gif, .bmp enz.
- Videobestanden: .mp4, .3gp, .mkv, .avi enz.
- Geluidsbestanden: .mp3, .wav, .mka, .aac enz.
- Database bestanden: .mdb, .accde, .frm, .sqlite enz.
- Archief bestanden: .zip, .rar, .iso, .7z enz.
- Uitvoerbare bestanden: .exe, .dll, .class enz.
Aanbevolen literatuur = >> Hoe .7z-bestand te openen
Alle binaire bestanden volgen een specifiek formaat. We kunnen enkele binaire bestanden openen in de normale teksteditor, maar we kunnen de inhoud in het bestand niet lezen. Dat komt omdat alle binaire bestanden worden gecodeerd in het binaire formaat, dat alleen kan worden begrepen door een computer of machine.
Voor het afhandelen van dergelijke binaire bestanden hebben we een specifiek type software nodig om het te openen.
Bijvoorbeeld, U hebt Microsoft Word-software nodig om binaire .doc-bestanden te openen. Evenzo hebt u pdf-lezersoftware nodig om binaire pdf-bestanden te openen en hebt u fotobewerkingssoftware nodig om de afbeeldingsbestanden te lezen, enzovoort.
Tekstbestanden in Python
Tekstbestanden hebben geen specifieke codering en kunnen in de normale teksteditor zelf worden geopend.
Voorbeeld:
- Webstandaarden: html, XML, CSS, JSON enz.
- Broncode: c, app, js, py, java etc.
- Documenten: txt, tex, RTF enz.
- Tabelgegevens: csv, tsv enz.
- Configuratie: ini, cfg, reg enz.
In deze tutorial zullen we zien hoe je zowel met tekst als met binaire bestanden om moet gaan met enkele klassieke voorbeelden.
Bewerkingen voor het afhandelen van Python-bestanden
Het belangrijkste is dat er 4 soorten bewerkingen zijn die door Python op bestanden kunnen worden afgehandeld:
- Open
- Lezen
- Schrijven
- Dichtbij
Andere bewerkingen zijn onder meer:
- Hernoemen
- Verwijderen
Python Maak en open een bestand
Python heeft een ingebouwde functie genaamd open () om een bestand te openen.
Er is minimaal één argument voor nodig, zoals vermeld in de onderstaande syntaxis. De open methode retourneert een bestandsobject dat wordt gebruikt om toegang te krijgen tot de schrijf-, lees- en andere ingebouwde methoden.
Syntaxis:
Hier is bestandsnaam de naam van het bestand of de locatie van het bestand dat u wilt openen, en bestandsnaam moet ook de bestandsextensie bevatten. Wat betekent in test.txt - de term test is de naam van het bestand en .txt is de extensie van het bestand.
De modus in de syntaxis van de open functie zal Python vertellen welke bewerking je op een bestand wilt uitvoeren.
- ‘R’ - Leesmodus: De leesmodus wordt alleen gebruikt om gegevens uit het bestand te lezen.
- ‘W’ - Schrijfmodus: Deze modus wordt gebruikt als u gegevens naar het bestand wilt schrijven of deze wilt wijzigen. Onthoud dat de schrijfmodus de gegevens in het bestand overschrijft.
- ‘A’ - Modus toevoegen: De modus Append wordt gebruikt om gegevens aan het bestand toe te voegen. Onthoud dat gegevens aan het einde van de bestandspointer worden toegevoegd.
- ‘R +’ - Lees- of schrijfmodus: Deze modus wordt gebruikt als we de gegevens uit hetzelfde bestand willen schrijven of lezen.
- ‘A +’ - Modus voor toevoegen of lezen: Deze modus wordt gebruikt als we gegevens uit het bestand willen lezen of de gegevens aan hetzelfde bestand willen toevoegen.
Notitie: De bovengenoemde modi zijn alleen bedoeld voor het openen, lezen of schrijven van tekstbestanden.
Bij het gebruik van binaire bestanden moeten we dezelfde modi gebruiken met de letter 'B' op het eind. Zodat Python kan begrijpen dat we interactie hebben met binaire bestanden.
- 'Wb' - Open een bestand voor alleen-schrijven modus in het binaire formaat.
- ‘Rb’ - Open een bestand voor de alleen-lezenmodus in het binaire formaat.
- 'Van' - Open een bestand voor het toevoegen van alleen-modus in het binaire formaat.
- ‘Rb +’ - Open een bestand voor alleen lezen en schrijven in de binaire indeling.
- ‘Van +’ - Open een bestand voor toevoegen en alleen-lezen in de binaire indeling.
Voorbeeld 1:
In het bovenstaande voorbeeld openen we het bestand met de naam ‘test.txt’ dat aanwezig is op de locatie ‘C: / Documents / Python /’ en openen we hetzelfde bestand in een lees-schrijfmodus, wat ons meer flexibiliteit geeft.
Voorbeeld 2:
In het bovenstaande voorbeeld openen we het bestand met de naam ‘img.bmp’ dat aanwezig is op de locatie 'C: / Documents / Python /'. Maar hier proberen we het binaire bestand te openen.
Python lezen uit bestand
Om een bestand in python te kunnen lezen, moeten we het bestand openen in de leesmodus.
Er zijn drie manieren waarop we de bestanden in python kunnen lezen.
- lees ([n])
- readline ([n])
- readlines ()
Hier is n het aantal bytes dat moet worden gelezen.
Laten we eerst een voorbeeldtekstbestand maken, zoals hieronder wordt weergegeven.
Laten we nu eens kijken wat elke leesmethode doet:
Voorbeeld 1:
Uitgang:
Hallo
Hier openen we het bestand test.txt in een alleen-lezen modus en lezen we alleen de eerste 5 karakters van het bestand met behulp van de my_file.read (5) methode.
Uitgang:
Voorbeeld 2:
websites om anime engels nagesynchroniseerd te bekijken
Uitgang:
Hallo Wereld
Hallo Python
Goedemorgen
Hier hebben we geen argument gegeven binnen de functie read (). Daarom wordt alle inhoud in het bestand gelezen.
Uitgang:
Voorbeeld 3:
Uitgang:
Hij
Deze functie retourneert de eerste 2 tekens van de volgende regel.
Uitgang:
Voorbeeld 4:
Uitgang:
Hallo Wereld
Met deze functie kunnen we de inhoud van het bestand regel voor regel lezen.
Uitgang:
Voorbeeld 5:
Uitgang:
[‘Hallo wereld n’, ‘Hallo Python n’, ‘Goedemorgen’]
Hier lezen we alle regels die in het tekstbestand aanwezig zijn, inclusief de tekens voor nieuwe regels.
Uitgang:
Laten we nu eens wat meer praktische voorbeelden bekijken van het lezen van een bestand.
Een specifieke regel uit een bestand lezen
Uitgang:
Hoe is het met je
In het bovenstaande voorbeeld proberen we alleen de 4 te lezenthregel uit het ‘test.txt’ bestand met een 'for loop'
Uitgang:
Het hele bestand in één keer lezen
Uitgang:
Hallo Wereld
Hallo Python
Goedemorgen
Hoe is het met je
Uitgang:
Python schrijven naar bestand
Om gegevens naar een bestand te schrijven, moeten we het bestand openen in de schrijfmodus.
We moeten heel voorzichtig zijn bij het schrijven van gegevens naar het bestand, aangezien het de inhoud overschrijft die aanwezig is in het bestand dat u aan het schrijven bent, en alle voorgaande gegevens zullen worden gewist.
We hebben twee methoden om gegevens naar een bestand te schrijven, zoals hieronder wordt weergegeven.
- schrijven (string)
- schrijflijnen (lijst)
Voorbeeld 1:
De bovenstaande code schrijft de string ‘Hallo wereld’ in het ‘test.txt’ bestand.
Voordat u gegevens naar een test.txt-bestand schrijft:
Uitgang:
Voorbeeld 2:
De eerste regel zal ‘Hallo wereld’ zijn en zoals we hebben vermeld n karakter, zal de cursor naar de volgende regel van het bestand gaan en dan ‘Hallo Python’ schrijven.
alternatief voor ccleaner voor Windows 10
Onthoud dat als we geen teken n noemen, de gegevens continu in het tekstbestand worden geschreven, zoals ‘Hello WorldHelloPython’
Uitgang:
Voorbeeld 3:
De bovenstaande code schrijft een lijst met gegevens tegelijkertijd in het ‘test.txt’ bestand.
Uitgang:
Python toevoegen aan bestand
Om gegevens aan een bestand toe te voegen, moeten we het bestand openen in ‘a +’ -modus, zodat we toegang hebben tot zowel de toevoeg- als de schrijfmodus.
Voorbeeld 1:
De bovenstaande code voegt de tekenreeks ‘Apple’ toe aan het einde van het ‘test.txt’ bestand.
Uitgang:
Voorbeeld 2:
De bovenstaande code voegt de string ‘Apple’ toe aan het einde van het ‘test.txt’ bestand in een nieuwe regel
Uitgang:
Voorbeeld 3:
De bovenstaande code voegt een lijst met gegevens toe in een ‘test.txt’ -bestand.
Uitgang:
Voorbeeld 4:
In de bovenstaande code voegen we de lijst met gegevens toe aan het ‘test.txt’ -bestand. Hier kunt u zien dat we de methode tell () hebben gebruikt die afdrukt waar de cursor zich momenteel bevindt.
zoeken (offset): De offset heeft drie soorten argumenten, namelijk 0,1 en 2.
Als de offset 0 is: De verwijzing wordt naar het begin van het bestand verwezen.
Als de offset 1 is: Er wordt verwezen naar de huidige cursorpositie.
Als de offset 2 is: Er wordt verwezen naar het einde van het bestand.
Uitgang:
Python Bestand sluiten
Om een bestand te sluiten, moeten we eerst het bestand openen. In python hebben we een ingebouwde methode genaamd close () om het geopende bestand te sluiten.
Elke keer dat u een bestand opent, is het belangrijk om het te sluiten, vooral met de schrijfmethode. Omdat als we de sluitfunctie niet aanroepen na de schrijfmethode, alle gegevens die we naar een bestand hebben geschreven, niet in het bestand worden opgeslagen.
Voorbeeld 1:
Voorbeeld 2:
Python hernoemen of bestand verwijderen
Python biedt ons een 'os' -module met enkele ingebouwde methoden die ons zouden helpen bij het uitvoeren van de bestandsbewerkingen, zoals het hernoemen en verwijderen van het bestand.
Om deze module te gebruiken, moeten we allereerst de 'os' -module in ons programma importeren en vervolgens de gerelateerde methoden aanroepen.
hernoemen () methode:
Deze methode hernoemen () accepteert twee argumenten, namelijk de huidige bestandsnaam en de nieuwe bestandsnaam.
Syntaxis:
Voorbeeld 1:
Hier is ‘test.txt’ de huidige bestandsnaam en ‘test1.txt’ de nieuwe bestandsnaam.
U kunt de locatie specificeren, zoals weergegeven in het onderstaande voorbeeld.
Voorbeeld 2:
Voordat u het bestand hernoemt:
Na het uitvoeren van het bovenstaande programma
remove () methode:
We gebruiken de methode remove () om het bestand te verwijderen door de bestandsnaam of de bestandslocatie op te geven die u wilt verwijderen.
Syntaxis:
Voorbeeld 1:
Hier is ‘test.txt’ het bestand dat u wilt verwijderen.
Evenzo kunnen we de bestandslocatie ook doorgeven aan de argumenten, zoals weergegeven in het onderstaande voorbeeld
Voorbeeld 2:
Codering in bestanden
Bestandscodering vertegenwoordigt het converteren van tekens naar een specifiek formaat dat alleen een machine kan begrijpen.
Verschillende machines hebben verschillende coderingsformaten, zoals hieronder weergegeven.
- Microsoft Windows OS gebruikt ‘Cp1252’ coderingsformaat standaard.
- Linux of Unix OS gebruikt ‘Utf-8’ coderingsformaat standaard.
- Apple's MAC OS gebruikt ‘Utf-8’ of ‘utf-16’ coderingsformaat standaard.
Laten we de coderingsbewerking bekijken met enkele voorbeelden.
Voorbeeld 1:
Uitgang:
Het standaard coderingsformaat van Microsoft Windows is cp1252.
Hier heb ik mijn programma op de Windows-machine uitgevoerd, dus het heeft de standaardcodering afgedrukt als ‘cp1252’.
Uitgang:
We kunnen ook het coderingsformaat van een bestand wijzigen door het als argumenten door te geven aan de open functie.
Voorbeeld 2:
Uitgang:
Het bestandscoderingsformaat is: cp437
Uitgang:
Voorbeeld 3:
Uitgang:
Het bestandscoderingsformaat is: utf-16
Uitgang:
Gegevens schrijven en lezen vanuit een binair bestand
Binaire bestanden slaan gegevens op in het binaire formaat (nullen en enen) wat begrijpelijk is voor de machine. Dus wanneer we het binaire bestand op onze machine openen, decodeert het de gegevens en wordt het weergegeven in een voor mensen leesbaar formaat.
Voorbeeld:
# Laten we een binair bestand maken.
In het bovenstaande voorbeeld maken we eerst een binair bestand 'Bfile.bin' met de lees- en schrijftoegang en alle gegevens die u in het bestand wilt invoeren, moeten worden gecodeerd voordat u de schrijfmethode aanroept.
We drukken de gegevens ook af zonder ze te decoderen, zodat we kunnen zien hoe de gegevens er precies in het bestand uitzien wanneer ze zijn gecodeerd, en we drukken dezelfde gegevens ook af door ze te decoderen, zodat ze door mensen kunnen worden gelezen.
devops engineer interviewvragen en antwoorden
Uitgang:
Binaire gegevens: b’Hello Python ’
Normale gegevens: Hallo Python
Uitgang:
Bestands-I / O-kenmerken
Attribuut | Omschrijving |
---|---|
readlines () | Leest alle regels uit het bestand en retourneert ze |
Naam | Retourneer de naam van het bestand |
Modus | Return-modus van het bestand |
Codering | Retourneer het coderingsformaat van het bestand |
Gesloten | Retourneer true als het gesloten bestand anders false retourneert |
Voorbeeld:
Uitgang:
Wat is de bestandsnaam? C: /Documents/Python/test.txt
Wat is de bestandsmodus? r
Wat is het coderingsformaat? cp1252
Is het bestand gesloten? Vals
Is het bestand gesloten? Klopt
Uitgang:
Laten we een paar andere methoden van het bestand proberen.
Voorbeeld:
Uitgang:
Hallo Python
Hallo Wereld
Goedemorgen
Is het bestand leesbaar :? Klopt
Is het bestand beschrijfbaar :? Klopt
Dossier nr: 3
Uitgang:
Python-bestandsmethoden
Functie | Uitleg |
---|---|
Open() | Om een bestand te openen |
dichtbij() | Sluit een geopend bestand |
fileno () | Retourneert een geheel getal van het bestand |
lees (n) | Leest ‘n’ -tekens van het bestand tot het einde van het bestand |
leesbaar() | Geeft true terug als het bestand leesbaar is |
Lees regel() | Lees en retourneer een regel uit het bestand |
zoeken (offset) | Wijzig de cursorpositie in bytes zoals gespecificeerd door de offset |
doorzoekbaar () | Geeft true terug als het bestand willekeurige toegang ondersteunt |
vertellen() | Geeft de huidige bestandslocatie terug |
beschrijfbaar() | Geeft true terug als het bestand schrijfbaar is |
schrijven() | Schrijft een reeks gegevens naar het bestand |
schrijflijnen () | Schrijft een lijst met gegevens naar het bestand |
Laten we eens kijken wat we tot nu toe hebben besproken in een eindprogramma.
Voorbeeld:
Uitgang:
Wat is de bestandsnaam? C: /Documents/Python/test.txt
Wat is de modus van het bestand? w +
Wat is het coderingsformaat? cp1252
Grootte van het bestand is: 192
De cursorpositie staat op byte: 36
Inhoud van het bestand is: Hallo Python
Goedemorgen
Tot ziens
Gegevens aanwezig op de huidige regel zijn: Tot ziens
Binaire gegevens zijn: b ' xff xfe x00 x00G x00 x00 x00o x00 x00 x00o x00 x00 x00d x00 x00 x00 x00 x00 x00B x00 x00 x00y x00 x00 x00e x00 x00 x00 ′
Normale gegevens zijn: tot ziens
Uitgang:
Overzicht
Hieronder staan een paar tips die kunnen worden samengevat uit de bovenstaande tutorial:
- We gebruiken meestal een bestand voor het permanent opslaan van gegevens in de secundaire opslag, aangezien het niet-vluchtig van aard is, zodat de gegevens in de toekomst kunnen worden gebruikt.
- Soms willen we in sommige toepassingen de gegevens uit een tekstbestand of binair bestand lezen, zodat we dit kunnen bereiken met behulp van de ingebouwde functies in Python zoals open-, lees-, schrijfmethoden enz.
- U moet heel voorzichtig zijn bij het gebruik van de schrijfmethode, omdat alle gegevens die u naar het bestand schrijft, worden overschreven en de oude gegevens verloren gaan.
- Om het overschrijven van gegevens te voorkomen, is het beter om een bestand te openen in de schrijf- en toevoegmodus, zodat de gegevens aan het einde van het bestand worden toegevoegd.
- Onthoud dat wanneer u een bestand in de binaire modus opent, het de coderingsparameter niet accepteert.
- U kunt een bestand hernoemen en verwijderen met behulp van de methoden voor hernoemen en verwijderen uit de “os” -module / -pakket.
We hopen dat je deze informatieve tutorial over Python File Handling leuk vond. Onze aankomende tutorial zal meer uitleggen over Python Main Function.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Invoer-uitvoer en bestanden in Python (Python openen, lezen en schrijven naar bestand)
- Python DateTime-zelfstudie met voorbeelden
- Python-zelfstudie voor beginners (hands-on GRATIS Python-training)
- Diepgaande Eclipse-zelfstudies voor beginners
- Python String-functies
- Python String Split-zelfstudie
- Python-variabelen
- VBScript-bestandsobjecten: CopyFile, DeleteFile, OpenTextFile, Read en Write Text File