logo

Teksta failu lasīšana un rakstīšana programmā Python

Python nodrošina iebūvētas funkcijas failu izveidei, rakstīšanai un lasīšanai. Programmā Python var apstrādāt divu veidu failus: parastos teksta failus un bināros failus (rakstīti binārajā valodā, 0s un 1s).

  • Teksta faili: Šāda veida failā katra teksta rindiņa tiek pabeigta ar īpašu rakstzīmi, ko sauc par EOL (rindas beigas), kas pēc noklusējuma ir jaunā rindiņas rakstzīme (' ') programmā Python.
  • Binārie faili: Šāda veida failā rindai nav terminatora, un dati tiek saglabāti pēc to konvertēšanas mašīn saprotamā binārajā valodā.

Šajā rakstā galvenā uzmanība tiks pievērsta datu atvēršanai, aizvēršanai, lasīšanai un rakstīšanai teksta failā. Šeit mēs arī redzēsim, kā iegūt Python izvade teksta failā.



Failu piekļuves režīmi

Piekļuves režīmi nosaka atvērtajā failā iespējamo darbību veidus. Tas attiecas uz to, kā fails tiks izmantots pēc tā atvēršanas. Šie režīmi arī nosaka atrašanās vietu Failu rokturis failā. Faila rokturis ir kā kursors, kas nosaka, no kurienes dati ir jālasa vai jāieraksta failā, un mēs varam iegūt Python izvadi teksta failā.

Python ir 6 piekļuves režīmi:

  • Tikai lasāms (“r”)
  • Lasīt un rakstīt (“r+”)
  • Tikai rakstīt ('w')
  • Rakstiet un lasiet ('w+')
  • Tikai pievienot (“a”)
  • Pievienot un lasīt (“a+”)

Tikai lasāms ('r'): Atveriet teksta failu lasīšanai. Rokturis atrodas faila sākumā. Ja fails neeksistē, tiek parādīta I/O kļūda. Šis ir arī noklusējuma režīms, kurā tiek atvērts fails.



Lasīt un rakstīt ('r+'): Atveriet failu lasīšanai un rakstīšanai. Rokturis atrodas faila sākumā. Paaugstina I/O kļūdu, ja fails neeksistē.

Tikai rakstiet ('w'): Atveriet failu rakstīšanai. Esošajiem failiem dati tiek saīsināti un pārrakstīti. Rokturis atrodas faila sākumā. Izveido failu, ja fails neeksistē.

Rakstiet un lasiet ('w+') : atveriet failu lasīšanai un rakstīšanai. Esoša faila dati tiek saīsināti un pārrakstīti. Rokturis atrodas faila sākumā.



Tikai pievienot (“a”) : atveriet failu rakstīšanai. Fails tiek izveidots, ja tas neeksistē. Rokturis atrodas faila galā. Rakstāmie dati tiks ievietoti beigās, aiz esošajiem datiem.

Pievienot un lasīt (“a+”): Atveriet failu lasīšanai un rakstīšanai. Fails tiek izveidots, ja tas neeksistē. Rokturis atrodas faila galā. Rakstāmie dati tiks ievietoti beigās, aiz esošajiem datiem.

Kā faili tiek ielādēti primārajā atmiņā?

Datorā ir divu veidu atmiņa, t.i., primārā un sekundārā atmiņa, katrs saglabātais fails vai jebkurš saglabātais fails atrodas sekundārajā atmiņā, jo visi dati primārajā atmiņā tiek dzēsti, kad dators tiek izslēgts. Tātad, ja nepieciešams mainīt jebkuru teksta failu vai vienkārši strādāt ar tiem programmā python, šis fails ir jāielādē primārajā atmiņā. Python mijiedarbojas ar failiem, kas ielādēti primārajā atmiņā vai galvenajā atmiņā failu apstrādātāji (Šādi jūsu operētājsistēma nodrošina piekļuvi python, lai mijiedarbotos ar failu, kuru atvērāt, meklējot failu tā atmiņā, ja tas tiek atrasts, atgriež failu apdarinātāju, un pēc tam varat strādāt ar failu ).

Teksta faila atvēršana programmā Python

Tas tiek darīts, izmantojot funkciju open (). Šai funkcijai nav nepieciešams importēt moduli.

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

Failam ir jāatrodas tajā pašā direktorijā, kurā atrodas python programmas fails, faila nosaukuma vietā ir jāraksta pilna faila adrese. Piezīme: r tiek ievietots pirms faila nosaukuma, lai neļautu faila nosaukuma virknē esošās rakstzīmes uzskatīt par īpašām rakstzīmēm. Piemēram, ja faila adresē ir emp, tad tiek uzskatīta par tabulēšanas rakstzīmi un tiek parādīta kļūda par nederīgu adresi. R padara virkni neapstrādātu, tas ir, tas norāda, ka virkne ir bez īpašām rakstzīmēm. R var tikt ignorēts, ja fails atrodas tajā pašā direktorijā un adrese netiek ievietota.

Python




hashmap iekšējā darbība

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

>

>

Šeit fails1 tiek izveidots kā objekts failam MyFile1 un fails2 kā objekts failam MyFile2

Teksta faila aizvēršana programmā Python

Funkcija close() aizver failu un atbrīvo šī faila iegūto atmiņas vietu. To izmanto laikā, kad fails vairs nav vajadzīgs vai ja tas ir jāatver citā faila režīmā. File_object.close()

Python




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

>

tīkla slānis datortīklos

>

Rakstīšana failā programmā Python

Ir divi veidi, kā rakstīt failā:

  • Izmantojot write ()
  • Izmantojot rakstīšanas līnijas ()

Rakstīšana Python teksta failā, izmantojot write ()

rakstīt () : Ievieto virkni str1 vienā teksta faila rindā.

File_object.write(str1)>

Rakstīšana teksta failā, izmantojot rakstīšanas līnijas ()

rakstīšanas līnijas () : Virknes elementu sarakstam katra virkne tiek ievietota teksta failā. Izmanto, lai vienlaikus ievietotu vairākas virknes.

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

Atsauce: write() VS writelines()

Lasīšana no faila programmā Python

Ir trīs veidi, kā nolasīt datus no teksta faila:

  • Izmantojot read()
  • Izmantojot readline()
  • Izmantojot Readlines ()

Lasīšana no faila, izmantojot read()

lasīt () : Atgriež nolasītos baitus virknes veidā. Nolasa n baitus, ja n nav norādīts, nolasa visu failu.

File_object.read([n])>

Teksta faila lasīšana, izmantojot readline()

readline() : Nolasa faila rindiņu un atgriež virknes formā. Norādītajam n nolasa ne vairāk kā n baitus. Tomēr nelasa vairāk par vienu rindiņu, pat ja n pārsniedz rindas garumu.

File_object.readline([n])>

Faila lasīšana, izmantojot readlines ()

readlines() : Nolasa visas rindas un atgriež tās kā katra rinda kā virknes elementu sarakstā.

 File_object.readlines()>

Piezīme: “ ” tiek uzskatīts par īpašu divu baitu rakstzīmi.

Šajā piemērā fails ar nosaukumu myfile.txt tiek izveidots un atvērts rakstīšanas režīmā ('w'>). Dati tiek ierakstīti failā, izmantojotwrite>unwritelines>metodes. Pēc tam fails tiek atkārtoti atvērts lasīšanas un pievienošanas režīmā ('r+'>). Dažādas lasīšanas darbības, t.skread>,readline>,readlines>, un izmantošanuseek>, demonstrē dažādus veidus, kā izgūt datus no faila. Visbeidzot, fails tiek aizvērts.

Python3




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

>

>

Izvade:

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

Pievienošana failam programmā Python

Šajā piemērā fails ar nosaukumu myfile.txt sākotnēji tiek atvērts rakstīšanas režīmā ('w'>), lai rakstītu teksta rindiņas. Pēc tam fails tiek atkārtoti atvērts pievienošanas režīmā ('a'>), un Šodien tiek pievienots esošajam saturam. Izvade pēc pievienošanas tiek parādīta, izmantojotreadlines>. Pēc tam fails tiek atkārtoti atvērts rakstīšanas režīmā, pārrakstot saturu ar Rīt. Galīgā izvade pēc rakstīšanas tiek parādīta, izmantojotreadlines>.

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

>

>

Izvade:

burbuļu kārtošana java
Output of Readlines after appending ['This is Delhi 
', 'This is Paris 
', 'This is London 
', 'Today 
'] Output of Readlines after writing ['Tomorrow 
']>

Saistīts raksts:

  • Failu objekti Python