Læsning og skrivning af filer med Python

Reading Writing Files With Python



Filer bruges til at gemme og organisere data på en disk. Vi bruger ofte filer, når vi skal gemme data permanent på en harddisk. Sig f.eks., At vi bygger et softwaresystem, der vedligeholder elevrekorder. Nu skal vi gemme elevdataene permanent til fremtidig brug. Til dette formål kan vi bruge filer til at gemme data, og senere kan vi til enhver tid åbne disse filer og få adgang til de lagrede data.

Læsning og skrivning af filer er meget almindelige funktioner i Python. Det er let at oprette, læse og redigere filer i Python. Python leveres med indbyggede funktioner til læsning og skrivning af filer. Du kan åbne, skrive og læse filer ved hjælp af de indbyggede Python-funktioner. Filhandlingerne udføres i følgende rækkefølge:







  • Åbn en fil
  • Læs/skriv fil
  • Luk filen

Ved hjælp af Python kan du oprette tekstfiler og binære filer. Tekstfiler gemmer data i form af tegn, og hver linje ender med et nyt linjetegn (‘ n’). I binære filer gemmes data i form af bytes (1 og 0).



I denne artikel lærer du:



  • Nogle af de forskellige filtilstande i Python
  • Sådan åbnes en fil
  • Sådan oprettes en fil
  • Hvordan man skriver data til en fil
  • Sådan læses en fil

Forskellige filtilstande i Python

Tilstande i Python beskriver den type operation, der skal udføres på filen. Når du åbner en fil, skal du angive tilstanden. Hver fil har et filhåndtag. Filhåndtaget fungerer som en markør, der angiver, hvor data skal skrives og læses. Det er en type placeringsmarkør. Følgende inkluderer nogle af de forskellige adgangsfiltilstande i Python:





Mode Beskrivelse
r Åbner filen i læsetilstand. Denne tilstand er valgt som standard, hvis du ikke definerer nogen tilstand, mens du åbner filen i Python.
i Skriver en fil. Denne tilstand opretter en fil, hvis filen ikke allerede findes og overskriver dataene i filen.
r+ Bruges til at læse og skrive filen. Det viser en fejl, hvis filen ikke findes.
til Åbner filen i tilføjelsestilstand. Filhåndtaget er placeret i slutningen af ​​filen. Denne tilstand overskriver ikke de eksisterende data, men begynder at skrive data i slutningen af ​​filen. Der oprettes en ny fil, hvis filen ikke findes.
et + Åbner filen til læsning og skrivning. Dette åbner filen i tilføjelsestilstand til skrivning. Dataene indsættes i slutningen af ​​filen. Der oprettes en ny fil, hvis filen ikke findes.
t Åbner filen i teksttilstand.

Sådan åbnes en fil

Brug den indbyggede til at åbne en fil i Python åben() fungere. Open () -funktionen tager to argumenter som input, det vil sige filnavnet og funktionsmåden. Denne funktion returnerer filobjektet som et output. Det er ikke nødvendigt at importere noget modul for at bruge funktionen open (). Følgende er syntaksen for funktionen open ():

file_object= åben(filnavn,mode)

Her repræsenterer 'filnavn' navnet på den faktiske tekstfil, mens 'tilstand' repræsenterer filadgang eller filoperationstilstand. Du kan også placere r før 'filnavn', hvis filnavnet indeholder specialtegn. R er placeret som følger:



=file_object= åben(rfile_name,mode)

For eksempel kan filnavnet være: F: newfolder myfile.txt

Sådan opretter du en fil

Funktionen open () kan bruges til at oprette filer i Python. Brug tilføj tilstand (a) inde i funktionen open () til at oprette filen. Opret en fil ved hjælp af nedenstående kode:

fil = åben('sample.txt','til')

Her oprettes et nyt filobjekt. Filobjektet hedder fil. Navnet på den nyoprettede tekstfil er sample.txt. Tekstfilen åbnes i tilføjelsestilstand. Det vil oprette den nye fil, hvis filen ikke allerede findes. Efter oprettelse af filen skal du lukke filen på følgende måde:

fil.tæt()

Den indbyggede close () -funktion bruges til at lukke filen.

Sådan skriver du data til en fil

Der er to funktioner i Python, der bruges til at skrive data i en fil:

  1. skrive()
  2. skrifter ()

Funktionen write () bruges til at skrive data med en enkelt linje eller en enkelt streng til en fil, mens funktionenwritlines () bruges til at skrive flere linjer med data til en tekstfil. Lad os se nogle eksempler på at skrive data til en fil.

Brug funktionen write ()

I dette eksempel bruger vi funktionen write () til at skrive data til en fil. Filen åbnes i skrivemåde. n placeres for at angive slutningen af ​​linjen.

# opretter et nyt filobjekt og åbner en fil i skrivemåde
fil=åben('sample.txt','i')
# skrive en enkelt linje til en fil

fil.skrive('Velkommen til linuxhintet n')
# skrive endnu en linje til en fil
fil.skrive('Velkommen tilbage')

#lukning af filen
fil.tæt()

Produktion

Linjerne er skrevet i tekstfilerne.

Hvis vi åbner filen i skrivetilstand og beder skrive () -funktionen om at skrive flere linjer til filen, overskriver den de tidligere data, og nye data tilføjes til tekstfilen.

# opretter et nyt filobjekt og åbner en fil i skrivemåde
fil=åben('sample.txt','i')
# skrive en enkelt linje til en fil

fil.skrive('Hej allesammen n')
# skrive endnu en linje til en fil
fil.skrive('Dette er den udskiftede streng')

#lukning af filen
fil.tæt()

Produktion

I output kan det ses, at de tidligere data udskiftes, og nye data tilføjes i stedet i tekstfilen.

Hvis vi vil beholde både de tidligere og de nye data i filen, kan vi åbne filen i tilføjelsesfunktion, sådan her:

# opretter et nyt filobjekt og åbner en fil i tilføjelsestilstand
fil=åben('sample.txt','til')
# skrive en enkelt linje til en fil

fil.skrive('Hej allesammen n')
# skrive endnu en linje til en fil
fil.skrive('Dette er den udskiftede streng n')
# skrive endnu en ny enkelt linje til en fil
fil.skrive('Dette er den nyligt tilføjede strengstreng n')
#lukning af filen
fil.tæt()

Produktion

Brug af skriftlinjefunktionen ()

Funktionen Writelines () bruges til at skrive flere linjer i en tekst på én gang som følger:

# opretter et nyt filobjekt og åbner en fil i skrivemåde
fil=åben('file1.txt','i')
# lagring af flere strengdata i en variabel
s = ['Hej allesammen n','Velkommen til linuxhintet n','vi bruger skriftlinjefunktion n']
# brug af skriftlinjefunktioner til at skrive data i en fil
fil.skrifter(s)
#lukning af filen
fil.tæt()

Produktion

Sådan læses en fil

For at læse en fil i Python skal du først åbne filen i læsetilstand. Der er tre indbyggede funktioner i Python til læsning af en fil. Disse omfatter følgende:

  1. Læs()
  2. læselinje ()
  3. læselinjer ()

Læs(): Bruges til at læse data fra en fil; returnerer hele data i form af streng.

readline (): Læser en datalinje fra en fil; returnerer kun den første linje.

læselinjer (): Læser alle eksisterende linjer fra en fil; returnerer det i form af en liste.

Funktionen seek () bruges til at ændre filhåndteringspositionen. Når data læses i filen, placerer filhåndtaget sig selv i slutningen af ​​filen. Således er et filhåndtag som en markør med funktionen seek () som middel til at flytte markøren.

Lad os se et eksempel på at læse data fra filen.

# åbning af en fil i læsetilstand
fil=åben('file1.txt','r')
# ved hjælp af read () -funktionen til at læse dataene fra filen
# lagring af linjerne i en variabel
data=fil.Læs()
# udskrivning af data
Print('Dette er output fra read () -funktionen: n')
Print(data)

# ved hjælp af funktionen seek () til at bringe filpositionen i gang
fil.søge(0)
# ved hjælp af funktionen readline () til at læse dataene fra filen
# lagring af linjerne i en variabel
data=fil.læselinje()
# udskrivning af data
Print('Dette er output fra readline () -funktionen: n')
Print(data)

# ved hjælp af funktionen seek () til at bringe filpositionen i gang
fil.søge(0)
# ved hjælp af readlines () -funktion til at læse dataene fra filen
# lagring af linjerne i en variabel
data=fil.læselinjer()
# udskrivning af data
Print('Dette er output fra readlines () -funktionen: n')
Print(data)
#lukning af filen
fil.tæt()

Produktion

Konklusion

Det er ofte nødvendigt at gemme oplysninger eller data i en fil. I Python kan du nemt oprette, skrive og læse filer ved hjælp af de indbyggede Python-funktioner. Det er ikke nødvendigt at importere andre moduler til dit program, når du vil læse, skrive og oprette filer. Du kan også bruge flere indbyggede adgangstilstande, mens du bruger filerne. I denne artikel har vi forklaret, hvordan man læser og skriver filer i Python med nogle enkle eksempler.