logo

Cum se citește dintr-un fișier în Python

Python oferă funcții încorporate pentru crearea, scrierea și citirea fișierelor. Există două tipuri de fișiere care pot fi gestionate în python, fișiere text normale și fișiere binare (scrise în limbaj binar, 0 și 1).

    Fișiere text: În acest tip de fișier, fiecare linie de text este terminată cu un caracter special numit EOL (Sfârșit de linie), care este caracterul de linie nouă (‘ ’) în python în mod implicit. Fișiere binare: În acest tip de fișier, nu există un terminator pentru o linie și datele sunt stocate după convertirea lor într-un limbaj binar ușor de înțeles de mașină.

Notă: Pentru a afla mai multe despre gestionarea fișierelor click aici .



Mod de acces

Modurile de acces guvernează tipul de operațiuni posibile în fișierul deschis. Se referă la modul în care fișierul va fi utilizat odată ce este deschis. Aceste moduri definesc, de asemenea, locația mânerului fișierului în fișier. Mânerul fișierului este ca un cursor, care definește de unde trebuie citite sau scrise datele în fișier. Diferite moduri de acces pentru citirea unui fișier sunt:

    Numai citire (‘r’): Deschideți fișierul text pentru citire. Mânerul este poziționat la începutul fișierului. Dacă fișierul nu există, generează o eroare I/O. Acesta este, de asemenea, modul implicit în care este deschis fișierul. Citiți și scrieți (‘r+’): Deschideți fișierul pentru citire și scriere. Mânerul este poziționat la începutul fișierului. Declanșează o eroare I/O dacă fișierul nu există. Adăugați și citiți (‘a+’): deschideți fișierul pentru citire și scriere. Fișierul este creat dacă nu există. Mânerul este poziționat la capătul fișierului. Datele care se scriu vor fi introduse la final, după datele existente.

Notă: Pentru a afla mai multe despre modul de acces click aici .

Deschiderea unui fișier

Se face folosind funcția open(). Nu este necesar să fie importat niciun modul pentru această funcție.



Sintaxă:

redenumirea unui director
File_object = open(r'File_Name', 'Access_Mode')>

Fișierul ar trebui să existe în același director ca și fișierul de program python, altfel adresa completă a fișierului ar trebui să fie scrisă pe locul numelui fișierului. Notă: R este plasat înaintea numelui fișierului pentru a preveni ca caracterele din șirul numelui fișierului să fie tratate ca caractere speciale. De exemplu, dacă există emp în adresa fișierului, atunci este tratat ca caracter tabulator și apare o eroare de adresa invalidă. R-ul face șirul brut, adică spune că șirul nu are caractere speciale. R poate fi ignorat dacă fișierul se află în același director și adresa nu este plasată.

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>+>')>

>

>

Aici, fișierul1 este creat ca obiect pentru Fișierul meu1 și fișierul2 ca obiect pentru Fișierul meu2.

Închiderea unui fișier

Funcția close() închide fișierul și eliberează spațiul de memorie dobândit de acel fișier. Este folosit în momentul în care fișierul nu mai este necesar sau dacă urmează să fie deschis într-un alt mod de fișier.

Sintaxă:

File_object.close()>

Python3


carcasa comutatorului java



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

>

>

Citirea dintr-un fișier

Există trei moduri de a citi datele dintr-un fișier text.

    read() : Returnează octeții citiți sub forma unui șir. Citește n octeți, dacă nu este specificat n, citește întregul fișier.
File_object.read([n])>
    readline() : Citește o linie a fișierului și revine sub forma unui șir. Pentru n specificat, citește cel mult n octeți. Cu toate acestea, nu citește mai mult de o linie, chiar dacă n depășește lungimea liniei.
File_object.readline([n])>
    readlines() : Citește toate liniile și le returnează ca fiecare linie un element șir dintr-o listă.
File_object.readlines()>

Notă: „ ” este tratat ca un caracter special de doi octeți.

Exemplu:

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

>

>

Ieșire:

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 
']>

Cu declarație

cu declarația în Python este folosită în gestionarea excepțiilor pentru a face codul mai curat și mult mai lizibil. Simplifică gestionarea resurselor comune, cum ar fi fluxurile de fișiere. Spre deosebire de implementările de mai sus, nu este nevoie să apelați file.close() când utilizați instrucțiunea with. Declarația with în sine asigură achiziția și eliberarea adecvată a resurselor.

Sintaxă:

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

>

care sunt dimensiunile ecranului computerului meu
>

Ieșire:

Hello This is Delhi This is Paris This is London>

Notă: Pentru a afla mai multe despre cu declarație click aici .