logo

Rakstīšana failā programmā Python

Python nodrošina iebūvētas funkcijas failu izveidei, rakstīšanai un lasīšanai. Ir divu veidu faili, ar kuriem var apstrādāt python, parastie teksta faili un binārie faili (rakstīti binārajā valodā, 0s un 1s).

string of int
    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 failos rindai nav terminatora, un dati tiek saglabāti pēc to konvertēšanas mašīn saprotamā binārajā valodā.

Piezīme: Lai uzzinātu vairāk par failu apstrādi noklikšķiniet šeit .



Satura rādītājs

Piekļuves režīms

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 faila roktura atrašanās vietu failā. Faila rokturis ir kā kursors, kas nosaka, no kurienes dati ir jālasa vai jāieraksta failā. Dažādi piekļuves režīmi faila lasīšanai ir:

    Tikai rakstīšana ('w'): atveriet failu rakstīšanai. Esoša faila dati tiek saīsināti un pārrakstīti. Rokturis atrodas faila sākumā. Izveido failu, ja fails neeksistē. Rakstīt un lasīt ('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.

Piezīme: Lai uzzinātu vairāk par piekļuves režīmu noklikšķiniet šeit .



Faila atvēršana

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

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īts par tabulēšanas rakstzīmi un tiek parādīta kļūda, ja adrese ir nederīga. 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.

Python3






# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'w')> > # 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.

Faila aizvēršana

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ā. Sintakse:

File_object.close()>

Python3




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

>

>

Rakstīšana failā

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

    write() : ievieto virkni str1 vienā teksta faila rindā.
File_object.write(str1)>
    writelines() : 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]>

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

Python3




# Python program to demonstrate> # writing to file> # Opening a file> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> s>=> 'Hello '> # Writing a string to file> file1.write(s)> # Writing multiple strings> # at a time> file1.writelines(L)> # Closing file> file1.close()> # Checking if the data is> # written to file or not> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(file1.read())> file1.close()>

>

vārdnīcas inicializators c#

>

Izvade:

Hello This is Delhi This is Paris This is London>

Pievienošana failam

Kad fails tiek atvērts pievienošanas režīmā, rokturis atrodas faila beigās. Rakstāmie dati tiks ievietoti beigās, aiz esošajiem datiem. Apskatīsim tālāk sniegto piemēru, lai noskaidrotu atšķirību starp rakstīšanas režīmu un pievienošanas režīmu.

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.read())> 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.read())> print>()> file1.close()>

>

>

Izvade:

Output of Readlines after appending This is Delhi This is Paris This is London Today Output of Readlines after writing Tomorrow>

Ar paziņojumu

ar paziņojumu Python tiek izmantots izņēmumu apstrādei, lai padarītu kodu tīrāku un daudz lasāmāku. Tas vienkāršo kopējo resursu, piemēram, failu straumju, pārvaldību. Atšķirībā no iepriekšminētajām ieviešanām, lietojot kopā ar paziņojumu, fails.close() nav jāizsauc. Pats ar paziņojums nodrošina pareizu resursu iegūšanu un atbrīvošanu. Sintakse:

with open filename as file:>

Python3


kas ir android Lieldienu ola



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

>

>

Izvade:

Hello This is Delhi This is Paris This is London>

Piezīme. Lai uzzinātu vairāk par paziņojumu, noklikšķiniet šeit.

izmanto paziņojumam:

soļi:

mapes pārdēvēšana operētājsistēmā Linux

Lai rakstītu failā Python, izmantojot priekšrakstu, varat veikt šādas darbības:

Atveriet failu, izmantojot funkciju open() ar atbilstošo režīmu (“w” rakstīšanai).
Izmantojiet priekšrakstu for, lai cilpu pāri datiem, kurus vēlaties ierakstīt failā.
Izmantojiet faila objekta rakstīšanas () metodi, lai ierakstītu datus failā.
Aizveriet failu, izmantojot faila objekta close() metodi.

Šajā piemērā fails tiek atvērts rakstīšanai, izmantojot opciju open ('file.txt', 'w') kā f priekšrakstu. Rakstāmie dati tiek saglabāti sarakstā, ko sauc par datiem. Priekšraksts for tiek izmantots, lai pārietu pāri katrai saraksta datu rindai. F.write(line + ‘ ’) priekšraksts ieraksta katru datu rindiņu failā ar jaunas rindiņas rakstzīmi ( ) beigās. Visbeidzot, fails tiek automātiski aizvērts, kad beidzas bloks ar.

Python3




# Open the file for writing> with>open>(>'file.txt'>,>'w'>) as f:> ># Define the data to be written> >data>=> [>'This is the first line'>,>'This is the second line'>,>'This is the third line'>]> ># Use a for loop to write each line of data to the file> >for> line>in> data:> >f.write(line>+> ' '>)> ># Optionally, print the data as it is written to the file> >print>(line)> # The file is automatically closed when the 'with' block ends>

>

>

Izvade

This is the first line This is the second line This is the third line>

Pieeja:
Kods atver failu ar nosaukumu file.txt rakstīšanas režīmā, izmantojot bloku ar, lai nodrošinātu, ka fails ir pareizi aizvērts, kad bloks beidzas. Tas definē virkņu sarakstu, ko sauc par datiem, kas apzīmē failā ierakstāmās rindas. Pēc tam kods izmanto for cilpu, lai atkārtotu katru datu virkni, un ieraksta katru virkni failā, izmantojot rakstīšanas () metodi. Kods katrai virknei pievieno jaunas rindiņas rakstzīmi, lai nodrošinātu, ka katra virkne tiek ierakstīta jaunā faila rindā. Kods pēc izvēles izdrukā katru virkni, kā tā ir ierakstīta failā.

Laika sarežģītība:
Gan oriģinālā koda, gan alternatīvā koda laika sarežģītība ir O(n), kur n ir failā ierakstāmo rindu skaits. Tas ir tāpēc, ka abiem kodiem ir jāatkārto katra datu saraksta rinda, lai to ierakstītu failā.

Kosmosa sarežģītība:
Sākotnējam kodam un alternatīvajam kodam ir vienāda telpas sarežģītība O(n), kur n ir failā ierakstāmo rindu skaits. Tas ir tāpēc, ka abiem kodiem ir jāizveido virkņu saraksts, kas apzīmē failā ierakstāmās rindas.