Lese og skrive filer med Python

Reading Writing Files With Python



Filer brukes til å lagre og organisere data på en disk. Vi bruker ofte filer når vi trenger å lagre data permanent på en harddisk. For eksempel, si at vi bygger et programvaresystem som oppbevarer studentrekorder. Nå må vi lagre studentdataene permanent for fremtidig bruk. For dette formålet kan vi bruke filer til å lagre data, og senere kan vi åpne disse filene og få tilgang til lagrede data når som helst.

Lese og skrive filer er svært vanlige funksjoner i Python. Det er enkelt å lage, lese og redigere filer i Python. Python kommer med innebygde funksjoner for lesing og skriving av filer. Du kan åpne, skrive og lese filer ved hjelp av de innebygde Python-funksjonene. Filoperasjonene utføres i følgende rekkefølge:







  • Åpne en fil
  • Les/skriv fil
  • Lukk filen

Ved hjelp av Python kan du opprette tekstfiler og binære filer. Tekstfiler lagrer data i form av tegn, og hver linje ender med et nytt linjetegn (‘ n’). I binære filer lagres data i form av byte (1 og 0).



I denne artikkelen lærer du:



  • Noen av de forskjellige filmodusene i Python
  • Hvordan åpne en fil
  • Hvordan lage en fil
  • Hvordan skrive data til en fil
  • Hvordan lese en fil

Ulike filmoduser i Python

Modus i Python beskriver typen operasjon som skal utføres på filen. Når du åpner en fil, må du angi modusen. Hver fil har et filhåndtak. Filhåndtaket fungerer som en markør som angir hvor data skal skrives og leses. Det er en type posisjonspeker. Følgende inkluderer noen av de forskjellige tilgangsfilmodusene i Python:





Modus Beskrivelse
r Åpner filen i lesemodus. Denne modusen er valgt som standard hvis du ikke definerer noen modus mens du åpner filen i Python.
i Skriver en fil. Denne modusen oppretter en fil hvis filen ikke allerede eksisterer og overskriver dataene i filen.
r+ Brukes til å lese og skrive filen. Det viser en feil hvis filen ikke finnes.
til Åpner filen i vedleggsmodus. Filhåndtaket er plassert på slutten av filen. Denne modusen overskriver ikke eksisterende data, men begynner å skrive data på slutten av filen. En ny fil opprettes hvis filen ikke finnes.
et + Åpner filen for lesing og skriving. Dette åpner filen i vedleggsmodus for skriving. Dataene settes inn på slutten av filen. En ny fil opprettes hvis filen ikke finnes.
t Åpner filen i tekstmodus.

Hvordan åpne en fil

For å åpne en fil i Python, bruk den innebygde åpen() funksjon. Open () -funksjonen tar to argumenter som input, det vil si navnet på filen og operasjonsmåten. Denne funksjonen returnerer filobjektet som en utgang. Det er ikke nødvendig å importere noen modul for å bruke funksjonen open (). Følgende er syntaksen til funksjonen open ():

file_object= åpen(filnavn,modus)

Her representerer 'filnavn' navnet på den faktiske tekstfilen, mens 'modus' representerer filtilgangen eller filoperasjonsmodusen. Du kan også plassere r før ‘filnavn’ hvis filnavnet inneholder spesialtegn. R er plassert som følger:



=file_object= åpen(rfile_name,modus)

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

Hvordan lage en fil

Open () -funksjonen kan brukes til å lage filer i Python. Bruk vedleggsmodus (a) inne i funksjonen open () for å lage filen. Lag en fil ved hjelp av koden nedenfor:

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

Her opprettes et nytt filobjekt. Filobjektet heter fil. Navnet på den nyopprettede tekstfilen er sample.txt. Tekstfilen åpnes i vedleggsmodus. Den vil opprette den nye filen hvis filen ikke allerede eksisterer. Etter at du har opprettet filen, må du lukke filen på følgende måte:

fil.Lukk()

Den innebygde lukkefunksjonen () brukes til å lukke filen.

Hvordan skrive data til en fil

Det er to funksjoner i Python som brukes til å skrive data i en fil:

  1. skrive()
  2. skrifter ()

Skrive () -funksjonen brukes til å skrive enkeltlinje- eller enkeltstrengdata til en fil, mens skrivelinjefunksjonen () brukes til å skrive flere linjer med data til en tekstfil. La oss se noen eksempler på hvordan du skriver data til en fil.

Bruke skrivefunksjonen ()

I dette eksemplet bruker vi skrive () -funksjonen til å skrive data til en fil. Filen åpnes i skrivemodus. n er plassert for å angi slutten av linjen.

# opprette et nytt filobjekt og åpne en fil i skrivemodus
fil=åpen('sample.txt','i')
# skrive enkelt linje til en fil

fil.skrive('Velkommen til linuxhint n')
# skrive en ny linje til en fil
fil.skrive('Velkommen tilbake')

#lukker filen
fil.Lukk()

Produksjon

Linjene er skrevet i tekstfilene.

Hvis vi åpner filen i skrivemodus og ber skrive () -funksjonen om å skrive flere linjer til filen, vil den overskrive de tidligere dataene og nye data vil bli lagt til i tekstfilen.

# opprette et nytt filobjekt og åpne en fil i skrivemodus
fil=åpen('sample.txt','i')
# skrive enkelt linje til en fil

fil.skrive('Hei alle sammen n')
# skrive en ny linje til en fil
fil.skrive('Dette er den erstattede strengen')

#lukker filen
fil.Lukk()

Produksjon

I utgangen kan det sees at de tidligere dataene er erstattet og nye data blir lagt til i stedet i tekstfilen.

Hvis vi vil beholde både forrige og nye data i filen, kan vi åpne filen i vedleggsmodus, slik:

# opprette et nytt filobjekt og åpne en fil i tilføyelsesmodus
fil=åpen('sample.txt','til')
# skrive enkelt linje til en fil

fil.skrive('Hei alle sammen n')
# skrive en ny linje til en fil
fil.skrive('Dette er den erstattede strengen n')
# skrive en ny ny enkeltlinje til en fil
fil.skrive('Dette er den strengen som nylig er lagt til n')
#lukker filen
fil.Lukk()

Produksjon

Bruke skriftlinjefunksjonen ()

Skriftlinjefunksjonen () brukes til å skrive flere linjer i en tekst samtidig, som følger:

# opprette et nytt filobjekt og åpne en fil i skrivemodus
fil=åpen('file1.txt','i')
# lagring av flere strengdata i en variabel
s. s = ['Hei alle sammen n','Velkommen til linuxhint n','vi bruker skriftlinjefunksjon n']
# bruk av skriftlinjefunksjoner for å skrive data i en fil
fil.skrifter(s. s)
#lukker filen
fil.Lukk()

Produksjon

Hvordan lese en fil

For å lese en fil i Python, åpner du først filen i lesemodus. Det er tre innebygde funksjoner i Python for å lese en fil. Disse inkluderer følgende:

  1. lese()
  2. readline ()
  3. readlines ()

lese(): Brukes til å lese data fra en fil; returnerer hele dataene i form av streng.

readline (): Leser en datalinje fra en fil; returnerer bare den første linjen.

readlines (): Leser alle eksisterende linjer fra en fil; returnerer den i form av en liste.

Søk () -funksjonen brukes til å endre filhåndteringsposisjonen. Når du leser data i filen, plasserer filhåndteringen seg på slutten av filen. Dermed er et filhåndtak som en markør, med søkefunksjonen () som et middel for å flytte markøren.

La oss se et eksempel på å lese data fra filen.

# åpne en fil i lesemodus
fil=åpen('file1.txt','r')
# ved hjelp av read () -funksjonen for å lese dataene fra filen
# lagring av linjene i en variabel
data=fil.lese()
# skrive ut dataene
skrive ut('Dette er utdata fra read () -funksjonen: n')
skrive ut(data)

# bruker søke () -funksjonen for å sette filposisjonen i gang
fil.søke(0)
# ved hjelp av readline () -funksjon for å lese dataene fra filen
# lagring av linjene i en variabel
data=fil.leselinje()
# skrive ut dataene
skrive ut('Dette er utdata fra funksjonen readline (): n')
skrive ut(data)

# bruker søke () -funksjonen for å sette filposisjonen i gang
fil.søke(0)
# ved hjelp av readlines () -funksjon for å lese dataene fra filen
# lagring av linjene i en variabel
data=fil.leselinjer()
# skrive ut dataene
skrive ut('Dette er utdataene fra readlines () -funksjonen: n')
skrive ut(data)
#lukker filen
fil.Lukk()

Produksjon

Konklusjon

Det er ofte nødvendig å lagre informasjon eller data i en fil. I Python kan du enkelt lage, skrive og lese filer ved hjelp av de innebygde Python-funksjonene. Det er ikke nødvendig å importere andre moduler til programmet ditt når du vil lese, skrive og lage filer. Du kan også bruke flere innebygde tilgangsmoduser mens du bruker filene. I denne artikkelen har vi forklart hvordan du leser og skriver filer i Python med noen enkle eksempler.