Python

Kuidas Pythonis tekstifaile lugeda ja kirjutada

Kuidas Pythonis tekstifaile lugeda ja kirjutada
See artikkel hõlmab juhendit, milles selgitatakse väliseid failide käitlusi pythonis. Põhirõhk on salvestusmeediumile salvestatud teksti- ja muude mittebinaarsete andmefailide avamisel ja sulgemisel, mis võimaldab teil käivitada erinevaid toiminguid avatud failide sisuga.

Faili avamine ja sulgemine

Andmete lugemiseks tekstifailist nimega „andmed.txt ”, peate kasutama Pythoni ametlike ehitustega kaasas olevat“ avatud ”meetodit. Kontrollige allpool näidiskoodi:

f = avatud ('andmed.txt ',' r ')
f.Sulge()

Esimene lause avab „andmed.txt ”fail režiimis“ r ”(kirjutuskaitstud). "Avatud" meetod aktsepteerib argumentidena failinime ja faili käsitlemise režiimi. Lisaks režiimile „r” on ka teisi režiime, mida selgitatakse hiljem. Ülaltoodud koodilõik ei käivita avatud failiga ühtegi toimingut. "Sule" meetodit kasutatakse avatud faili puhtaks sulgemiseks, et mälu saaks vabaneda, ja et vältida avanenud failis andmete rikkumist, mis võib mõnikord juhtuda, kui fail pole korralikult suletud.

Failide avamise ja sulgemise meetodi „open” asemel võite selle kombineerida märksõnaga „with” ja kasutada lauset „with open”.

avatud ('andmetega.txt ',' r ') kui f:
üle andma

Avalduse “avatud” kasutamise peamine eelis on see, et tõlk sulgeb avatud faili automaatselt, kui “avatud” koodiplokk on parsitud. Kuigi Pythoni prügikoguja sulgeb avatud failid mõne aja pärast automaatselt vastavalt eelseadistatud reeglitele, tagavad "avatud" lausetega ressursside vabastamiseks failide puhta sulgemise kohe, kui koodiplokk on lõpetatud.

Tekstifaili ridade lugemine

Faili sisu lugemiseks kasutage allolevat koodinäidist:

avatud ('andmetega.txt ',' r ') kui f:
andmed = f.loe ()
print (andmed)

Näiteks kui „andmed.txt ”failil on 1–10 numbrit, millest igaüks on uuel real. Pärast ülaltoodud koodi käivitamist saate järgmise väljundi:

1
2
3
4
5
6
7
8
9
10

Kogu „data.txt ”fail salvestatakse muutujasse“ data ”. Kui soovite loendi ridu lugeda, võite kasutada järgmisi koodinäiteid:

avatud ('andmetega.txt ',' r ') kui f:
andmed = f.readlines ()
print (andmed) avatud ('andmetega.txt ',' r ') kui f:
andmed = loend (f)
print (andmed)

Pange tähele, et ülaltoodud juppide kasutamine võib tuua loendi iga elemendi lõppu märgi „\ n” (uus rida). Nende uue rea tähemärkide eemaldamiseks peate võib-olla loendit sirvima. Saate nii uue loendi luua kui ka uue rea tähemärgid ribastada, kasutades selle asemel järgmist koodi:

data_list = []
avatud ('andmetega.txt ',' r ') kui f:
f-joone jaoks:
andmete_loend.lisa (rida.riba ())
print (andmete_loend)

Ülaltoodud koodi käivitamisel saate järgmise väljundi:

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

Andmete kirjutamine avatud faili

Andmete kirjutamiseks faili, mis avatakse lausega "avatud" abil, peate argumendina sisestama teise avamisrežiimi. Siin on mõned režiimid:

Mõned koodijupid, mis kasutavad andmete kirjutamiseks erinevaid režiime, on loetletud allpool.

Uue sisu kirjutamiseks tekstifaili olemasolevate andmete kustutamise ajal kasutage järgmist näidist:

avatud ('andmetega.txt ',' w ') kui f:
f.kirjuta ("1 \ n2")

Pärast ülaltoodud jupi käivitamist lisage jaotises „andmed” 1–10 numbrit.txt ”fail tuleks asendada kahe uue reaga.

Ridade lisamiseks tekstifaili algusesse peate failipuhvri algusesse naasmiseks kasutama meetodit „seek“

avatud ('andmetega.txt ',' r + ') kui f:
andmed = f.loe ()
f.otsima (0)
f.kirjuta ("- 1 \ n0 \ n")
f.kirjutama (andmed)

Pärast ülaltoodud jupi käivitamist lisatakse jaotises „andmed” kahele ülemisele reale -1 ja 0 numbrit.txt ”failid.

Andmete lisamiseks faili lõppu kasutage järgmist näidist:

avatud ('andmetega.txt ',' a ') kui f:
f.kirjuta ("11 \ n12")

Pärast ülaltoodud jupi käivitamist lisatakse faili lõppu 11 ja 12 numbrit.

Järeldus

Pythoni sisseehitatud klassid ja meetodid pakuvad tugevat viisi tekstifailide käsitsemiseks. Ainult mõne koodirea abil saate nii failis olemasolevaid andmeid manipuleerida kui ka uusi ridu lisada.

Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...
Hiire keskmine nupp ei tööta Windows 10-s
The hiire keskmine nupp aitab teil sirvida pikki rohke andmega veebisaite ja ekraane. Kui see peatub, siis lõpuks kasutate kerimiseks klaviatuuri, mis...