Python-filhåndtering: Sådan oprettes, åbnes, tilføjes, læses, skrives

Indholdsfortegnelse:

Anonim

I Python er der ikke behov for at importere eksternt bibliotek for at læse og skrive filer. Python giver en indbygget funktion til oprettelse, skrivning og læsning af filer.

I denne filhåndtering i Python-tutorial lærer vi:

  • Sådan åbnes en tekstfil i Python
  • Sådan oprettes en tekstfil i Python
  • Sådan tilføjes en fil i Python
  • Sådan læses filer i Python
  • Sådan læses en fil linje for linje i Python
  • Filtilstande i Python

Sådan åbnes en tekstfil i Python

For at åbne en fil skal du bruge den indbyggede

openfungere. Funktionen Python open file returnerer et filobjekt, der indeholder metoder og attributter til at udføre forskellige handlinger til åbning af filer i Python.

Syntaks for Python-åben filfunktion

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

Her,

  • filnavn: giver navnet på den fil, som filobjektet har åbnet.
  • mode: attribut for et filobjekt fortæller dig, hvilken tilstand en fil blev åbnet i.

Flere detaljer om disse tilstande forklares nedenfor

Sådan oprettes en tekstfil i Python

Med Python Write to File kan du oprette en .text-filer (guru99.txt) ved hjælp af koden, vi har demonstreret her:

Trin 1)

f= open("guru99.txt","w+")
  • Vi erklærede variablen f for at åbne en fil med navnet guru99.txt. Åben tager to argumenter, den fil, som vi vil åbne, og en streng, der repræsenterer den slags tilladelse eller handling, vi vil udføre på filen
  • Her brugte vi "w" -brevet i vores argument, hvilket indikerer, at Python skriver til fil, og det opretter en fil, hvis den ikke findes i biblioteket
  • Plustegn angiver både læsning og skrivning til Python-oprettelsesfilhandling.

Trin 2)

for i in range(10):f.write("This is line %d\r\n" % (i+1))
  • Vi har en for-løkke, der løber over et interval på 10 numre.
  • Brug af skrivefunktionen til at indtaste data i filen.
  • Det output, vi vil gentage i filen, er "dette er linienummer", som vi erklærer med Python skrive til tekstfilfunktion og derefter procent d (viser heltal)
  • Så dybest set sætter vi linjenummeret, som vi skriver, og placerer det derefter i en vognretur og en ny linjekarakter

Trin 3)

f.close() 
  • Dette lukker forekomsten af ​​filen guru99.txt, der er gemt

Her er resultatet efter kodeudførelse til Python-oprettelsesfil

Når du klikker på din tekstfil i vores tilfælde "guru99.txt", vil den se sådan ud

Sådan tilføjes en fil i Python

Du kan også tilføje / tilføje en ny tekst til den allerede eksisterende fil eller en ny fil.

Trin 1)

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

Endnu en gang, hvis du kunne se et plustegn i koden, indikerer det, at den opretter en ny fil, hvis den ikke findes. Men i vores tilfælde har vi allerede filen, så vi er ikke forpligtet til at oprette en ny fil til Python tilføje til filhandling.

Trin 2)

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

Dette vil skrive data i filen i tilføjelsestilstand.

Du kan se output i filen "guru99.txt". Outputtet af koden er, at tidligere fil tilføjes med nye data af Python, der føjes til filoperation.

Sådan læses filer i Python

Du kan læse en fil i Python ved at kalde .txt-filen i en "læsetilstand" (r).

Trin 1) Åbn filen i læsetilstand

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

Trin 2) Vi bruger tilstandsfunktionen i koden til at kontrollere, at filen er i åben tilstand. Hvis ja, fortsætter vi

if f.mode == 'r':

Trin 3) Brug f.read til at læse fildata og gemme dem i variabelt indhold til læsning af filer i Python

contents =f.read()

Trin 4) Udskriv indhold til Python-læst tekstfil

Her er output fra Python-læsefileksemplet:

Sådan læses en fil linje for linje i Python

Du kan også læse din .txt-fil linje for linje, hvis dine data er for store til at læse. readlines () -kode adskiller dine data i letlæsningstilstand.

Når du kører koden ( f1 = f.readlines ()) for at læse fil linje for linje i Python, adskiller den hver linje og præsenterer filen i et læsbart format. I vores tilfælde er linjen kort og læsbar, output ser ud som læsefunktionen. Men hvis der er en kompleks datafil, som ikke kan læses, kan dette stykke kode være nyttigt.

Filtilstande i Python

Følgende er de forskellige filtilstande i Python :

Mode Beskrivelse
'r' Dette er standardtilstand. Det åbner fil til læsning.
'w' Denne tilstand Åbner filen til skrivning. Hvis filen ikke findes, opretter den en ny fil. Hvis filen findes, afkortes den.
'x' Opretter en ny fil. Hvis filen allerede findes, mislykkes handlingen.
'en' Åbn fil i tilføjelsestilstand. Hvis filen ikke findes, opretter den en ny fil.
't' Dette er standardtilstand. Det åbnes i teksttilstand.
'b' Dette åbnes i binær tilstand.
'+' Dette åbner en fil til læsning og skrivning (opdatering)

Her er den komplette kode til Python-udskrivning () til fileksempel

Python 2-eksempel

def hoved ():f = åben ("guru99.txt", "w +")# f = åben ("guru99.txt", "a +")for jeg inden for rækkevidde (10):f.write ("Dette er linje% d \ r \ n"% (i + 1))f.close ()# Åbn filen tilbage, og læs indholdet# f = åben ("guru99.txt", "r")# hvis f.mode == 'r':# indhold = f.read ()# udskriv indhold#eller readlines læser den enkelte linje ind i en liste#fl = f.readlines ()#for x i fl:#print xhvis __navn __ == "__main__":hoved ()

Python 3 Eksempel

Nedenfor er et andet Python-print () til fileksempel:

def hoved ():f = åben ("guru99.txt", "w +")# f = åben ("guru99.txt", "a +")for jeg inden for rækkevidde (10):f.write ("Dette er linje% d \ r \ n"% (i + 1))f.close ()# Åbn filen tilbage, og læs indholdet# f = åben ("guru99.txt", "r")#if f.mode == 'r':# indhold = f.read ()# print (indhold)#eller readlines læser den enkelte linje ind i en liste#fl = f.readlines ()#for x i fl:#print (x)hvis __navn __ == "__main__":hoved ()

Resumé

  • Python giver dig mulighed for at læse, skrive og slette filer
  • Brug funktionen åben ("filnavn", "w +") til Python Opret tekstfil. + Fortæller pythontolken for Python åben tekstfil med læse- og skrivetilladelser.
  • For at tilføje data til en eksisterende fil eller Python-udskrivning til filhandling skal du bruge kommandoen åben ("Filnavn", " a ")
  • Brug Python læse filfunktionen til at læse HELE indholdet af en fil
  • Brug readlines-funktionen til at læse indholdet af filen en efter en.