logo

Sådan læser du fra en fil i Python

Python giver indbyggede funktioner til at oprette, skrive og læse filer. Der er to typer filer, der kan håndteres i python, normale tekstfiler og binære filer (skrevet på binært sprog, 0'er og 1'er).

    Tekstfiler: I denne type fil afsluttes hver tekstlinje med et specialtegn kaldet EOL (End of Line), som er det nye linjetegn (' ') i python som standard. Binære filer: I denne type fil er der ingen terminator for en linje, og dataene gemmes efter konvertering til maskinforståeligt binært sprog.

Bemærk: For at vide mere om filhåndtering Klik her .

Adgangstilstand

Adgangstilstande styrer den type operationer, der er mulige i den åbnede fil. Det refererer til, hvordan filen vil blive brugt, når den er åbnet. Disse tilstande definerer også placeringen af ​​filhåndtaget i filen. Filhåndtaget er som en markør, der definerer, hvorfra dataene skal læses eller skrives i filen. Forskellige adgangstilstande til at læse en fil er –



    Read Only ('r'): Åbn tekstfil til læsning. Håndtaget er placeret i begyndelsen af ​​filen. Hvis filen ikke eksisterer, opstår I/O-fejl. Dette er også standardtilstanden, hvor filen åbnes. Læs og skriv ('r+'): Åbn filen til læsning og skrivning. Håndtaget er placeret i begyndelsen af ​​filen. Hæver I/O-fejl, hvis filen ikke eksisterer. Tilføj og læs ('a+'): Åbn filen til læsning og skrivning. Filen oprettes, hvis den ikke findes. Håndtaget er placeret for enden af ​​filen. De data, der skrives, vil blive indsat til sidst, efter de eksisterende data.

Bemærk: For at vide mere om adgangstilstand Klik her .

Åbning af en fil

Det gøres ved hjælp af funktionen open(). Der kræves ikke noget modul for at blive importeret til denne funktion.

Syntaks:

java gør mens eksempel
File_object = open(r'File_Name', 'Access_Mode')>

Filen skal eksistere i samme mappe som python-programfilen ellers, den fulde adresse på filen skal skrives på stedet for filnavnet. Bemærk: R er placeret før filnavn for at forhindre, at tegnene i filnavnstrengen behandles som specialtegn. For eksempel, hvis der er emp i filadressen, behandles som tabulatortegn, og fejlen hæves med ugyldig adresse. r'et gør strengen rå, det vil sige, at den fortæller, at strengen er uden specialtegn. R kan ignoreres, hvis filen er i samme mappe, og adressen ikke placeres.

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 oprettes fil1 som objekt for MyFile1 og fil2 som objekt for MyFile2.

Lukning af en fil

close()-funktionen lukker filen og frigør den hukommelsesplads, der er erhvervet af den pågældende fil. Den bruges på det tidspunkt, hvor filen ikke længere er nødvendig, eller hvis den skal åbnes i en anden filtilstand.

Syntaks:

File_object.close()>

Python3


java operatør



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

>

>

Læser fra en fil

Der er tre måder at læse data fra en tekstfil på.

    read() : Returnerer de læste bytes i form af en streng. Læser n bytes, hvis der ikke er angivet n, læser hele filen.
File_object.read([n])>
    readline() : Læser en linje i filen og returnerer i form af en streng. For specificeret n læser højst n bytes. Læser dog ikke mere end én linje, selvom n overstiger linjens længde.
File_object.readline([n])>
    readlines() : Læser alle linjerne og returnerer dem som hver linje et strengelement i en liste.
File_object.readlines()>

Bemærk: ' ' behandles som et specialtegn på to bytes.

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()>

>

java undtagelser

>

Produktion:

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 udsagn

med statement i Python bruges i undtagelseshåndtering for at gøre koden renere og meget mere læsbar. Det forenkler styringen af ​​fælles ressourcer som filstrømme. I modsætning til ovenstående implementeringer er der ingen grund til at kalde file.close(), når du bruger med sætning. Selve med-erklæringen sikrer korrekt anskaffelse og frigivelse af ressourcer.

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())>

>

>

Produktion:

Hello This is Delhi This is Paris This is London>

Bemærk: At vide mere om med statement Klik her .