Filer bruges til at gemme og organisere data på en disk. Vi bruger ofte filer, når vi har brug for at gemme data permanent på en harddisk. Sig for eksempel, at vi bygger et softwaresystem, der vedligeholder studenteroptegnelser. Nu er vi nødt til at 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 slutter 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
- Sådan skriver du data til en fil
- Sådan læses en fil
Forskellige filtilstande i Python
Tilstande i Python beskriver typen af 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. |
w | 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. |
-en | Å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. En ny fil oprettes, hvis filen ikke findes. |
-en+ | Åbner filen til læsning og skrivning. Dette åbner filen i tilføjelsestilstand til skrivning. Dataene indsættes i slutningen af filen. En ny fil oprettes, 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. Den åbne () funktion tager to argumenter som input, i.e., navnet på filen og driftsformen. 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 open () -funktionen:
file_object = åben (“filnavn”, “tilstand”)Her repræsenterer 'filnavn' navnet på den aktuelle tekstfil, mens 'tilstand' repræsenterer filadgang eller filtilstand. Du kan også placere r før 'filnavn', hvis filnavnet indeholder specialtegn. R placeres som følger:
= fil_objekt = åben (r "filnavn", "tilstand")For eksempel kan filnavnet være: “F: \ newfolder \ myfile.txt ”
Sådan oprettes en fil
Den åbne () funktion kan bruges til at oprette filer i Python. Brug append-tilstanden (a) inde i den åbne () funktion til at oprette filen. Opret en fil ved hjælp af koden nedenfor:
file = open ("prøve.txt "," a ")Her oprettes et nyt filobjekt. Filobjektet hedder “fil.”Navnet på den nyoprettede tekstfil er“ prøve.txt.”Tekstfilen åbnes i tilføjelsestilstand. Det opretter den nye fil, hvis filen ikke allerede findes. Når du har oprettet 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:
- skrive()
- writelines ()
Skrivefunktionen () bruges til at skrive data til en enkelt linje eller en enkelt streng til en fil, mens funktionen writelines () bruges til at skrive flere linjer med data til en tekstfil. Lad os se nogle eksempler på at skrive data til en fil.
Brug af skrivefunktionen ()
I dette eksempel bruger vi skrivfunktionen () til at skrive data til en fil. Filen åbnes i skrivetilstand. “\ N” placeres for at specificere slutningen af linjen.
# opretter et nyt filobjekt og åbner en fil i skrivetilstandfile = open ("prøve.txt "," w ")
# skriver en enkelt linje til en fil
fil.skriv ("Velkommen til linuxhint \ n")
# at skrive en anden enkelt linje til en fil
fil.skriv ("Velkommen tilbage")
#lukker filen
fil.tæt()
Produktion
Linjerne er skrevet i tekstfilerne.
Hvis vi åbner filen i skrivemåde og beder skrivefunktionen () 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 skrivetilstandfile = open ("prøve.txt "," w ")
# at skrive en enkelt linje til en fil
fil.skriv ("Hej alle \ n")
# at skrive en anden enkelt linje til en fil
fil.skriv ("Dette er den udskiftede streng")
#lukker filen
fil.tæt()
Produktion
I output kan det ses, at de tidligere data udskiftes, og nye data tilføjes i stedet for i tekstfilen.
Hvis vi vil beholde både de forrige og de nye data i filen, kan vi åbne filen i tilføjelsestilstand som denne:
# oprettelse af et nyt filobjekt og åbning af en fil i tilføjelsestilstandfile = open ("prøve.txt "," a ")
# at skrive en enkelt linje til en fil
fil.skriv ("Hej alle \ n")
# at skrive en anden enkelt linje til en fil
fil.skriv ("Dette er den udskiftede streng \ n")
# at skrive en ny ny enkelt linje til en fil
fil.skriv ("Dette er den nyligt tilføjede strengstreng \ n")
#lukker filen
fil.tæt()
Produktion
Brug af writelines () -funktionen
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 skrivetilstandfil = åben ("fil1.txt "," w ")
# lagring af flere strengdata i en variabel
str = ["Hej alle \ n", "Velkommen til linuxhint \ n", "vi bruger Writelines-funktion \ n"]
# bruger Writelines-funktioner til at skrive data i en fil
fil.writelines (str)
#lukker 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 inkluderer følgende:
- Læs()
- readline ()
- readlines ()
Læs(): Bruges til at læse dataene fra en fil; returnerer hele data i form af streng.
readline (): Læser en datalinje fra en fil; returnerer kun den første linje.
readlines (): Læser alle eksisterende linjer fra en fil; returnerer den i form af en liste.
Funktionen seek () bruges til at ændre filhåndtagets position. Når du læser data i filen, placerer filhåndtaget sig i slutningen af filen. Et filhåndtag er således som en markør, med søgefunktionen () som middel til at flytte markøren.
Lad os se et eksempel på læsning af data fra filen.
# åbning af en fil i læsetilstandfil = åben ("fil1.txt "," r ")
# bruger read () -funktionen til at læse dataene fra filen
# lagring af linjerne i en variabel
data = fil.Læs()
# udskrivning af dataene
print ("Dette er output af read () -funktionen: \ n")
udskriv (data)
# ved hjælp af søg () -funktionen for at bringe filpositionen i start
fil.søg (0)
# bruger readline () -funktionen til at læse dataene fra filen
# lagring af linjerne i en variabel
data = fil.readline ()
# udskrivning af dataene
print ("Dette er output af readline () -funktion: \ n")
udskriv (data)
# ved hjælp af søg () -funktionen for at bringe filpositionen i start
fil.søg (0)
# ved hjælp af readlines () -funktionen til at læse dataene fra filen
# lagring af linjerne i en variabel
data = fil.readlines ()
# udskrivning af dataene
print ("Dette er output af readlines () funktion: \ n")
udskriv (data)
#lukker 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.