Python

Kā lasīt un rakstīt teksta failus Python

Kā lasīt un rakstīt teksta failus Python
Šis raksts aptvers ceļvedi, kurā izskaidrota ārējo failu apstrāde pitonā. Galvenā uzmanība tiks pievērsta teksta un citu ne bināru datu failu atvēršanai un aizvēršanai, kas saglabāti datu nesējā, ļaujot veikt dažādas darbības ar atvērto failu saturu.

Faila atvēršana un aizvēršana

Lai lasītu datus no teksta faila ar nosaukumu “dati.txt ”, jums jāizmanto metode“ open ”, kas nāk ar oficiālām Python būvēm. Pārbaudiet koda paraugu zemāk:

f = atvērts ('dati.txt ',' r ')
f.aizvērt ()

Pirmais paziņojums atver “datus.txt ”fails režīmā“ r ”(tikai lasāms). Metode “open” kā argumentus pieņem faila nosaukumu un faila apstrādes režīmu. Bez “r” režīma ir arī citi režīmi, kas tiks paskaidroti vēlāk. Iepriekš minētais koda fragments neveic nekādas darbības ar atvērto failu. Metode “aizvērt” tiek izmantota, lai tīri aizvērtu atvērto failu, lai varētu atbrīvot atmiņu un izvairītos no datu sabojāšanas atvērtajā failā, kas dažreiz var notikt, ja fails nav pareizi aizvērts.

Tā vietā, lai izmantotu “atvērto” metodi failu atvēršanai un aizvēršanai, varat to apvienot ar “ar” atslēgvārdu un izmantot “ar atvērtu” priekšrakstu.

ar atvērtu ('dati.txt ',' r ') kā f:
iziet

Izrādes “ar atvērtu” izmantošanas galvenā priekšrocība ir tā, ka tulks automātiski aizver atvērto failu, kad “ar atvērtu” koda bloku pilnībā parsē. Kaut arī atkritumu savācējs Python automātiski aizver atvērtos failus pēc kāda laika, kā noteikts iepriekš iestatītajos noteikumos, paziņojumi “ar atvērtiem” nodrošina, ka fails tiek tīri aizvērts, tiklīdz koda bloks ir pabeigts, lai atbrīvotu resursus.

Teksta faila rindiņu lasīšana

Lai lasītu faila saturu, izmantojiet tālāk norādīto koda paraugu:

ar atvērtu ('dati.txt ',' r ') kā f:
dati = f.lasīt ()
drukāt (dati)

Piemēram, ja “dati.txt ”failā ir 1–10 numuri, katrā jaunā rindā, pēc iepriekš minētā koda izpildīšanas iegūsiet šādu izvadi:

1
2
3
4
5
6
7
8
9
10

Visa datu kopa no “datiem.txt ”fails tiek saglabāts mainīgajā“ data ”. Ja vēlaties izlasīt saraksta rindas, varat izmantot šādus kodu paraugus:

ar atvērtu ('dati.txt ',' r ') kā f:
dati = f.lasāmrindas ()
drukāt (dati) ar atvērtu ('dati.txt ',' r ') kā f:
dati = saraksts (f)
drukāt (dati)

Ņemiet vērā, ka, izmantojot iepriekš minētos fragmentus, katra saraksta elementa beigās var iegūt rakstzīmi “\ n” (jauna rinda). Lai noņemtu šīs jaunās rindiņas rakstzīmes, iespējams, būs jāpārskata saraksts. Varat gan izveidot jaunu sarakstu, gan noņemt jaunu līniju rakstzīmes, tā vietā izmantojot šādu kodu:

datu_ saraksts = []
ar atvērtu ('dati.txt ',' r ') kā f:
līnijai f:
datu_ saraksts.pievienot (rinda.sloksne ())
drukāt (datu_ saraksts)

Palaidot iepriekš minēto kodu, jūs iegūsiet šādu izvadi:

['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

Datu rakstīšana uz atvērtu failu

Lai ierakstītu datus failā, kas tiek atvērts, izmantojot paziņojumu “ar atvērtu”, kā arguments jums būs jānorāda cits atvēršanas režīms. Šeit ir daži no režīmiem:

Daži koda fragmenti, kas datu rakstīšanai izmanto dažādus režīmus, ir uzskaitīti zemāk.

Lai teksta failā ierakstītu jaunu saturu, dzēšot esošos datus, izmantojiet šo paraugu:

ar atvērtu ('dati.txt ',' w ') kā f:
f.rakstīt ("1 \ n2")

Pēc iepriekš minētā fragmenta palaišanas sadaļā “dati.txt ”fails jāaizstāj ar divām jaunām rindām.

Lai pievienotu rindas teksta faila sākumā, jums jāizmanto metode “meklēt”, lai atgrieztos faila bufera sākuma pozīcijā:

ar atvērtu ('dati.txt ',' r + ') kā f:
dati = f.lasīt ()
f.meklēt (0)
f.rakstīt ("- 1 \ n0 \ n")
f.rakstīt (dati)

Pēc fragmenta izpildīšanas augšpusē “dati” augšējās divās rindiņās tiks pievienoti -1 un 0 skaitļi.txt ”faili.

Lai pievienotu datus faila beigās, izmantojiet šo paraugu:

ar atvērtu ('dati.txt ',' a ') kā f:
f.rakstīt ("11 \ n12")

Pēc iepriekš minētā fragmenta palaišanas faila beigās tiks pievienoti 11 un 12 numuri.

Secinājums

Python iebūvētās klases un metodes nodrošina stabilu veidu, kā rīkoties ar teksta failiem. Tikai ar dažām koda rindiņām jūs varat manipulēt ar failā esošajiem datiem, kā arī ievietot jaunas rindas.

Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...
Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...