I Python er det ikke behov for å importere eksternt bibliotek for å lese og skrive filer. Python gir en innebygd funksjon for å lage, skrive og lese filer.
I denne filhåndteringen i Python-opplæringen vil vi lære:
- Hvordan åpne en tekstfil i Python
- Hvordan lage en tekstfil i Python
- Hvordan legge til en fil i Python
- Hvordan lese filer i Python
- Hvordan lese en fil linje for linje i Python
- Filmodus i Python
Hvordan åpne en tekstfil i Python
For å åpne en fil, må du bruke den innebygde
open
funksjon. Python åpen filfunksjon returnerer et filobjekt som inneholder metoder og attributter for å utføre forskjellige operasjoner for å åpne filer i Python.
Syntaks for Python åpen filfunksjon
file_object = open("filename", "mode")
Her,
- filnavn: gir navnet på filen som filobjektet har åpnet.
- modus: attributtet til et filobjekt forteller deg hvilken modus en fil ble åpnet i.
Flere detaljer om disse modusene er forklart nedenfor
Hvordan lage en tekstfil i Python
Med Python Write to File kan du opprette .text-filer (guru99.txt) ved å bruke koden, vi har demonstrert her:
Trinn 1)
f= open("guru99.txt","w+")
- Vi erklærte variabelen f for å åpne en fil med navnet guru99.txt. Åpne tar to argumenter, filen vi ønsker å åpne og en streng som representerer hvilke tillatelser eller operasjoner vi ønsker å gjøre på filen
- Her brukte vi "w" -bokstaven i argumentet vårt, som indikerer at Python skriver til filen, og det vil opprette en fil hvis den ikke finnes i biblioteket
- Plusstegn indikerer både lese og skrive for Python create file-operasjon.
Steg 2)
for i in range(10):f.write("This is line %d\r\n" % (i+1))
- Vi har en for loop som går over et område på 10 tall.
- Bruke skrivefunksjonen til å legge inn data i filen.
- Utgangen vi vil gjenta i filen er "dette er linjenummer", som vi erklærer med Python skrive til tekstfilfunksjon og deretter prosent d (viser heltall)
- Så i utgangspunktet setter vi inn linjenummeret vi skriver, og legger det i en vognretur og et nytt linjetegn
Trinn 3)
f.close()
- Dette lukker forekomsten av filen guru99.txt som er lagret
Her er resultatet etter kjøring av kode for Python-opprettingsfil
Når du klikker på tekstfilen din i vårt tilfelle "guru99.txt", vil den se ut som dette
Hvordan legge til en fil i Python
Du kan også legge til / legge til en ny tekst til den allerede eksisterende filen eller en ny fil.
Trinn 1)
f=open("guru99.txt", "a+")
Nok en gang hvis du kunne se et pluss-tegn i koden, indikerer det at den vil opprette en ny fil hvis den ikke eksisterer. Men i vårt tilfelle har vi allerede filen, så vi er ikke pålagt å opprette en ny fil for at Python skal legge til filoperasjonen.
Steg 2)
for i in range(2):f.write("Appended line %d\r\n" % (i+1))
Dette vil skrive data inn i filen i tilleggsmodus.
Du kan se utdataene i "guru99.txt" -filen. Utgangen av koden er at tidligere fil er lagt til med nye data av Python, vedlegg til filoperasjon.
Hvordan lese filer i Python
Du kan lese en fil i Python ved å ringe .txt-filen i en "lesemodus" (r).
Trinn 1) Åpne filen i lesemodus
f=open("guru99.txt", "r")
Trinn 2) Vi bruker modusfunksjonen i koden for å sjekke at filen er i åpen modus. Hvis ja, fortsetter vi
if f.mode == 'r':
Trinn 3) Bruk f.read til å lese fildata og lagre den i variabelt innhold for å lese filer i Python
contents =f.read()
Trinn 4) Skriv ut innholdet for Python-lest tekstfil
Her er utdataene fra Python-lesefileksemplet:
Hvordan lese en fil linje for linje i Python
Du kan også lese .txt-filen din linje for linje hvis dataene dine er for store til å lese. readlines () -koden vil adskille dataene dine i lettlest modus.
Når du kjører koden ( f1 = f.readlines ()) for å lese filen linje for linje i Python, vil den skille hver linje og presentere filen i et lesbart format. I vårt tilfelle er linjen kort og lesbar, vil utgangen se ut som lesemodus. Men hvis det er en kompleks datafil som ikke er lesbar, kan denne koden være nyttig.
Filmodus i Python
Følgende er de forskjellige filmodusene i Python :
Modus | Beskrivelse |
---|---|
'r' | Dette er standardmodus. Den åpner filen for lesing. |
'w' | Denne modusen åpner filen for skriving. Hvis filen ikke eksisterer, oppretter den en ny fil. Hvis filen eksisterer, avkortes den. |
'x' | Oppretter en ny fil. Hvis filen allerede eksisterer, mislykkes operasjonen. |
'en' | Åpne filen i tilleggsmodus. Hvis filen ikke eksisterer, oppretter den en ny fil. |
't' | Dette er standardmodus. Den åpnes i tekstmodus. |
'b' | Dette åpnes i binær modus. |
'+' | Dette åpner en fil for lesing og skriving (oppdatering) |
Her er den komplette koden for Python-utskrift () til fileksempel
Python 2 Eksempel
def main ():f = åpen ("guru99.txt", "w +")# f = åpen ("guru99.txt", "a +")for jeg innen rekkevidde (10):f.write ("Dette er linje% d \ r \ n"% (i + 1))f.lukk ()#Åpne filen tilbake og les innholdet# f = åpen ("guru99.txt", "r")# if f.mode == 'r':# innhold = f.read ()# utskriftsinnhold#eller leselinjer leser den enkelte linjen i en liste#fl = f.readlines ()#for x in fl:#print xhvis __navn __ == "__main__":hoved()
Python 3 Eksempel
Nedenfor er en annen Python-utskrift () til fileksempel:
def main ():f = åpen ("guru99.txt", "w +")# f = åpen ("guru99.txt", "a +")for jeg innen rekkevidde (10):f.write ("Dette er linje% d \ r \ n"% (i + 1))f.lukk ()#Åpne filen tilbake og les innholdet# f = åpen ("guru99.txt", "r")#if f.mode == 'r':# innhold = f.read ()# utskrift (innhold)#eller leselinjer leser den enkelte linjen i en liste#fl = f.readlines ()#for x in fl:#print (x)hvis __navn __ == "__main__":hoved()
Sammendrag
- Python lar deg lese, skrive og slette filer
- Bruk funksjonen åpen ("filnavn", "w +") for å lage Python tekstfil. + Forteller pythontolken for Python åpen tekstfil med lese- og skrivetillatelser.
- For å legge til data i en eksisterende fil eller Python-utskrift til fil-operasjon, bruk kommandoen åpen ("Filnavn", " a ")
- Bruk Python-lesefilfunksjonen til å lese HELE innholdet i en fil
- Bruk readlines-funksjonen til å lese innholdet i filen en etter en.