logo

Citirea și scrierea în fișiere text în Python

Python oferă funcții încorporate pentru crearea, scrierea și citirea fișierelor. Două tipuri de fișiere 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 se termină 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, iar datele sunt stocate după convertirea lor într-un limbaj binar ușor de înțeles de mașină.

Acest articol se va concentra pe deschiderea, închiderea, citirea și scrierea datelor într-un fișier text. Aici, vom vedea și cum să obținem Piton ieșire în fișier text.



Moduri de acces la fișiere

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ă deschis. Aceste moduri definesc, de asemenea, locația Mânerul fișierului în dosar. Mânerul fișierului este ca un cursor, care definește de unde trebuie citite sau scrise datele în fișier și putem obține rezultate Python în fișierul text.

Există 6 moduri de acces în Python:

  • Numai citire (‘r’)
  • Citiți și scrieți (‘r+’)
  • Numai scriere (‘w’)
  • Scrieți și citiți (‘w+’)
  • Numai adăugați („a”)
  • Adăugați și citiți (‘a+’)

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ă eroarea I/O. Acesta este, de asemenea, modul implicit în care este deschis un fișier.



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ă.

Numai scriere (‘w’): Deschideți fișierul pentru scriere. Pentru fișierele existente, datele sunt trunchiate și suprascrise. Mânerul este poziționat la începutul fișierului. Creează fișierul dacă fișierul nu există.

Scrieți și citiți (‘w+’) : Deschideți fișierul pentru citire și scriere. Pentru un fișier existent, datele sunt trunchiate și suprascrise. Mânerul este poziționat la începutul fișierului.



Numai adăugați („a”) : Deschideți fișierul pentru 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.

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.

Cum se încarcă fișierele în memoria primară?

Există două tipuri de memorie într-un computer, adică memorie primară și secundară, fiecare fișier pe care l-ați salvat sau cineva salvat se află în memoria secundară, deoarece toate datele din memoria primară sunt șterse atunci când computerul este oprit. Deci, atunci când trebuie să schimbați orice fișier text sau doar să lucrați cu ele în Python, trebuie să încărcați acel fișier în memoria primară. Python interacționează cu fișierele încărcate în memoria primară sau în memoria principală prin manipulatorii de fișiere ( Acesta este modul în care sistemul dvs. de operare oferă acces la python pentru a interacționa cu fișierul pe care l-ați deschis căutând fișierul în memoria acestuia, dacă este găsit, returnează un handler de fișier și apoi puteți lucra cu fișierul).

Deschiderea unui fișier text în Python

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

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, în rest, adresa completă a fișierului ar trebui să fie scrisă în locul numelui fișierului. Notă: The 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ă.

Piton




identificatori validi java

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

>

>

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

Închiderea unui fișier text în Python

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. File_object.close()

Piton




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

>

algoritmul kruskal

>

Scrierea într-un fișier în Python

Există două moduri de a scrie într-un fișier:

  • Folosind write()
  • Utilizarea liniilor de scriere()

Scrierea într-un fișier text Python folosind write()

scrie() : Inserează șirul str1 într-o singură linie în fișierul text.

File_object.write(str1)>

Scrierea într-un fișier text folosind linii de scriere ()

scrie linii(): Pentru o listă de elemente de șir, fiecare șir este inserat în fișierul text. Folosit pentru a insera mai multe șiruri simultan.

File_object.writelines(L) for L = [str1, str2, str3]>

Referinţă: write() VS writelines()

Citirea dintr-un fișier în Python

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

  • Folosind read()
  • Folosind readline()
  • Folosind readlines()

Citirea dintr-un fișier folosind read()

citit() : 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])>

Citirea unui fișier text folosind readline()

Citeste linia() : 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])>

Citirea unui fișier folosind readlines()

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.

În acest exemplu, un fișier numit myfile.txt este creat și deschis în modul de scriere ('w'>). Datele sunt scrise în fișier folosindwrite>șiwritelines>metode. Fișierul este apoi redeschis în modul citire și adăugare ('r+'>). Diverse operații de citire, inclusivread>,readline>,readlines>, și utilizarea deseek>, demonstrează diferite moduri de a prelua date din fișier. În cele din urmă, dosarul este închis.

Python3




cpp este egal

# Program to show various ways to read and> # write data in a file.> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> # is placed to indicate EOL (End of Line)> 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>))> 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 
']>

Adăugarea la un fișier în Python

În acest exemplu, un fișier numit myfile.txt este deschis inițial în modul de scriere ('w'>) pentru a scrie rânduri de text. Fișierul este apoi redeschis în modul adăugare ('a'>), iar Azi este adăugat la conținutul existent. Ieșirea după adăugare este afișată folosindreadlines>. Ulterior, fișierul este redeschis în modul de scriere, suprascriind conținutul cu Mâine. Rezultatul final după scriere este afișat folosindreadlines>.

Python3




# Python program to illustrate> # Append vs write mode> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)>#append mode> file1.write(>'Today '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.readlines())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)>#write mode> file1.write(>'Tomorrow '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.readlines())> print>()> file1.close()>

>

>

Ieșire:

Output of Readlines after appending ['This is Delhi 
', 'This is Paris 
', 'This is London 
', 'Today 
'] Output of Readlines after writing ['Tomorrow 
']>

Articol înrudit:

  • Fișier obiecte în Python