Lese og skrive filer med Python

Lese og skrive filer med 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. Si for eksempel at vi bygger et programvaresystem som opprettholder studentjournaler. 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 de lagrede dataene når som helst når som helst.

Å lese og skrive filer er veldig vanlige funksjoner i Python. Det er enkelt å opprette, lese og redigere filer i Python. Python kommer med innebygde funksjoner for å lese og skrive filer. Du kan åpne, skrive og lese filer ved hjelp av Python innebygde funksjoner. Filoperasjonene utføres i følgende sekvens:

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

Ved hjelp av Python kan du lage tekstfiler og binære filer. Tekstfiler lagrer data i form av tegn, og hver linje ender i et newline -tegn ('\ n'). I binære filer lagres data i form av byte (1 og 0).

I denne artikkelen vil du lære:

  • 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 filmodus i Python

Modus i Python beskriver typen operasjon som skal utføres på filen. Når du åpner en fil, må du spesifisere modus. Hver fil har et filhåndtak. Filhåndtaket fungerer som en markør som spesifiserer hvor du skal skrive og lese data. Det er en type stedspeker. 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.
w Skriver en fil. Denne modusen oppretter en fil hvis filen ikke allerede eksisterer og overskriver dataene i filen.
r+ Pleide å lese og skrive filen. Det viser en feil hvis filen ikke eksisterer.
en Åpner filen i vedleggsmodus. Filhåndtaket er lokalisert på slutten av filen. Denne modusen overskriver ikke de eksisterende dataene, men begynner å skrive data på slutten av filen. En ny fil opprettes hvis filen ikke eksisterer.
en+ Å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 eksisterer.
t Åpner filen i tekstmodus.

Hvordan åpne en fil

For å åpne en fil i Python, bruk den innebygde åpen() funksjon. Den åpne () -funksjonen tar to argumenter som innspill, i.e., Navnet på filen og driftsmåten. Denne funksjonen returnerer filobjektet som en utgang. Det er ikke nødvendig å importere noen modul for å bruke Open () -funksjonen. Følgende er syntaks for Open () -funksjonen:

File_Object = Open (“File_Name”, “Mode”)

Her representerer 'File_Name' navnet på den faktiske tekstfilen, mens 'Mode' representerer filtilgangen eller filoperasjonsmodus. Du kan også plassere R før 'File_name', hvis filnavnet inkluderer spesialtegn. R plassert som følger:

= File_Object = Open (R “File_Name”, “Mode”)

For eksempel kan filnavnet være: “F: \ newmold \ myfile.tekst"

Hvordan lage en fil

Open () -funksjonen kan brukes til å lage filer i Python. Bruk vedleggsmodus (a) inne i den åpne () -funksjonen for å opprette filen. Opprett en fil ved å bruke koden gitt nedenfor:

fil = åpen ("prøve.txt "," a ")

Her opprettes et nytt filobjekt. Filobjektet heter “Fil.”Navnet på den nyopprettede tekstfilen er“ Sample.tekst.”Tekstfilen åpnes i vedleggsmodus. Den vil opprette den nye filen hvis filen ikke allerede eksisterer. Etter å ha opprettet filen, må du lukke filen på følgende måte:

fil.Lukk()

Den innebygde lukkede () -funksjonen brukes til å lukke filen.

Hvordan skrive data til en fil

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

  1. skrive()
  2. Writelines ()

Skriving () -funksjonen brukes til å skrive enkeltlinje- eller enkeltstrengdata til en fil, mens WritLines () -funksjonen brukes til å skrive flere datalinjer til en tekstfil. La oss se noen eksempler på å skrive data til en fil.

Bruke skrive- () -funksjonen

I dette eksemplet bruker vi skrive () -funksjonen for å skrive data til en fil. Filen åpnes i skrivemodus. “\ N” er plassert for å spesifisere enden av linjen.

# Opprette et nytt filobjekt og åpne en fil i skrivemodus
fil = åpen ("prøve.txt "," w ")
# Skrive enkeltlinje til en fil
fil.Skriv ("Velkommen til Linuxhint \ n")
# Skrive en annen enkelt linje til en fil
fil.Skriv ("Velkommen tilbake")
#Closing 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 ("prøve.txt "," w ")
# Skrive enkeltlinje til en fil
fil.Skriv ("Hei alle sammen \ n")
# Skrive en annen enkelt linje til en fil
fil.Skriv ("Dette er den erstattede strengen")
#Closing filen
fil.Lukk()

Produksjon

I utdataene kan det sees at de tidligere dataene erstattes og nye data blir lagt til på sin plass i tekstfilen.

Hvis vi ønsker å beholde både de forrige og de nye dataene i filen, kan vi åpne filen i vedleggsmodus, slik:

# Opprette et nytt filobjekt og åpne en fil i vedleggsmodus
fil = åpen ("prøve.txt "," a ")
# Skrive enkeltlinje til en fil
fil.Skriv ("Hei alle sammen \ n")
# Skrive en annen enkelt linje til en fil
fil.Skriv ("Dette er den erstattede strengen \ n")
# Skrive en ny ny enkelt linje til en fil
fil.Skriv ("Dette er den nylig lagt strengstrengen \ n")
#Closing filen
fil.Lukk()

Produksjon

Ved hjelp av WritLines () -funksjonen

Writelines () -funksjonen brukes til å skrive flere linjer i en tekst på en gang, som følger:

# Opprette et nytt filobjekt og åpne en fil i skrivemodus
fil = åpen ("Fil1.txt "," w ")
# Lagring av flere strengdata i en variabel
Str = ["Hallo alle \ n", "Velkommen til Linuxhint \ n", "Vi bruker Writelines Function \ n"]
# Bruke Writelines -funksjoner for å skrive data i en fil
fil.Writelines (STR)
#Closing filen
fil.Lukk()

Produksjon

Hvordan lese en fil

For å lese en fil i Python, åpner 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 dataene fra en fil; Returnerer hele dataene i form av streng.

readline (): Leser en dataelinje 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åndtakets posisjon. Når du leser data i filen, posisjonerer filhåndtakene seg på slutten av filen. Dermed er et filhåndtak som en markør, med Seek () -funksjonen som et middel til å flytte markøren.

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

# Åpne en fil i lesemodus
fil = åpen ("Fil1.txt "," r ")
# Bruke Read () -funksjonen for å lese dataene fra filen
# Lagre linjene i en variabel
data = fil.lese()
# Skrive ut dataene
Print ("Dette er utgangen fra Read () -funksjonen: \ n")
Print (data)
# Bruke Seek () -funksjonen for å bringe filposisjonen i start
fil.Søk (0)
# Bruke Readline () -funksjonen for å lese dataene fra filen
# Lagre linjene i en variabel
data = fil.Readline ()
# Skrive ut dataene
Print ("Dette er utgangen fra Readline () -funksjonen: \ n")
Print (data)
# Bruke Seek () -funksjonen for å bringe filposisjonen i start
fil.Søk (0)
# Bruke ReadLines () -funksjon for å lese dataene fra filen
# Lagre linjene i en variabel
data = fil.ReadLines ()
# Skrive ut dataene
Print ("Dette er utgangen fra ReadLines () -funksjonen: \ n")
Print (data)
#Closing filen
fil.Lukk()

Produksjon

Konklusjon

Det er ofte nødvendig å lagre informasjon eller data til en fil. I Python kan du enkelt opprette, skrive og lese filer ved hjelp av Python innebygde funksjoner. 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 tilgangsmodus mens du bruker filene. I denne artikkelen har vi forklart hvordan vi skal lese og skrive filer i Python med noen enkle eksempler.