Hvordan lese fra en fil i Python

Python har innebygde funksjoner for å lage, skrive og lese filer. Det er to typer filer som kan håndteres i python, vanlige tekstfiler og binære filer (skrevet på binærspråk, 0s og 1s).

    Tekstfiler: I denne typen fil avsluttes hver tekstlinje med et spesialtegn kalt EOL (End of Line), som er det nye linjetegnet (' ') i python som standard. Binære filer: I denne typen fil er det ingen terminator for en linje, og dataene lagres etter å ha konvertert dem til maskinforståelig binærspråk.

Merk: For å vite mer om filhåndtering Klikk her .

Tilgangsmodus

Tilgangsmoduser styrer hvilken type operasjoner som er mulig i den åpnede filen. Det refererer til hvordan filen vil bli brukt når den er åpnet. Disse modusene definerer også plasseringen av filhåndtaket i filen. Filhåndtaket er som en markør, som definerer hvor dataene skal leses eller skrives i filen. Ulike tilgangsmoduser for å lese en fil er –

    Skrivebeskyttet ('r'): Åpne tekstfil for lesing. Håndtaket er plassert i begynnelsen av filen. Hvis filen ikke eksisterer, oppstår I/O-feil. Dette er også standardmodusen som filen åpnes i. Les og skriv (‘r+’): Åpne filen for lesing og skriving. Håndtaket er plassert i begynnelsen av filen. Får I/O-feil hvis filen ikke eksisterer. Legg til og les (‘a+’): Åpne filen for lesing og skriving. Filen opprettes hvis den ikke eksisterer. Håndtaket er plassert i enden av filen. Dataene som skrives vil bli satt inn på slutten, etter de eksisterende dataene.

Merk: For å vite mer om tilgangsmodus Klikk her .

Åpne en fil

Det gjøres ved å bruke funksjonen open(). Ingen modul er nødvendig for å bli importert for denne funksjonen.

Syntaks:

File_object = open(r'File_Name', 'Access_Mode') 

Filen skal eksistere i samme katalog som python-programfilen ellers, den fullstendige adressen til filen skal skrives på stedet for filnavnet. Merk: r-en plasseres foran filnavnet for å forhindre at tegnene i filnavnstrengen behandles som spesialtegn. For eksempel, hvis det er emp i filadressen, behandles som tabulatortegnet og feilen oppstår for ugyldig adresse. r-en gjør strengen rå, det vil si at den forteller at strengen er uten spesialtegn. R-en kan ignoreres hvis filen er i samme katalog og adressen ikke blir plassert.

Python3




# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1> => open> ('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2> => open> (r'D:TextMyFile2.txt', 'r> +> ')>

Her opprettes fil1 som objekt for MinFil1 og fil2 som objekt for MinFil2.

Lukke en fil

close()-funksjonen lukker filen og frigjør minneplassen som er ervervet av den filen. Den brukes på det tidspunktet filen ikke lenger er nødvendig eller hvis den skal åpnes i en annen filmodus.

Syntaks:

File_object.close() 

Python3




# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1> => open> ('MyFile.txt', 'r')> file1.close()>

Leser fra en fil

Det er tre måter å lese data fra en tekstfil.

    read() : Returnerer de leste bytene i form av en streng. Leser n byte, hvis ingen n er spesifisert, leser hele filen.
File_object.read([n]) 
    readline() : Leser en linje i filen og returnerer i form av en streng. For spesifisert n, leser maksimalt n byte. Leser imidlertid ikke mer enn én linje, selv om n overskrider linjens lengde.
File_object.readline([n]) 
    readlines() : Leser alle linjene og returnerer dem som hver linje et strengelement i en liste.
File_object.readlines() 

Merk: ' ' behandles som et spesialtegn på to byte.

Eksempel:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1> => open> ('myfile.txt', 'w')> L> => ['This> is> Delhi ', 'This> is> Paris ', 'This> is> London ']> # Writing data to a file> file1.write('Hello ')> file1.writelines(L)> file1.close()> # to change file access modes> file1> => open> ('myfile.txt', 'r> +> ')> print> ('Output of Read function> is> ')> print> (file1.read())> print> ()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(> 0> )> print> ('Output of Readline function> is> ')> print> (file1.readline())> print> ()> file1.seek(> 0> )> # To show difference between read and readline> print> ('Output of Read(> 9> ) function> is> ')> print> (file1.read(> 9> ))> print> ()> file1.seek(> 0> )> print> ('Output of Readline(> 9> ) function> is> ')> print> (file1.readline(> 9> ))> print> ()> file1.seek(> 0> )> # readlines function> print> ('Output of Readlines function> is> ')> print> (file1.readlines())> print> ()> file1.close()>

Produksjon:

Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
'] 

Med uttalelse

with statement i Python brukes i unntakshåndtering for å gjøre koden renere og mye mer lesbar. Det forenkler administrasjonen av vanlige ressurser som filstrømmer. I motsetning til implementeringene ovenfor, er det ikke nødvendig å kalle file.close() når du bruker med setning. Med-erklæringen i seg selv sikrer riktig anskaffelse og frigjøring av ressurser.

Syntaks:

with open filename as file: 

Python3




# Program to show various ways to> # read data from a file.> L> => ['This> is> Delhi ', 'This> is> Paris ', 'This> is> London ']> # Creating a file> with> open> ('myfile.txt', 'w') as file1:> > # Writing data to a file> > file1.write('Hello ')> > file1.writelines(L)> > file1.close()> # to change file access modes> with> open> ('myfile.txt', 'r> +> ') as file1:> > # Reading from a file> > print> (file1.read())>

Produksjon:

Hello This is Delhi This is Paris This is London 

Merk: For å vite mer om med uttalelse Klikk her .