logo

Kaip skaityti iš failo Python

Python suteikia integruotas funkcijas, skirtas failams kurti, rašyti ir skaityti. Yra dviejų tipų failai, kuriuos galima tvarkyti naudojant python: įprasti tekstiniai failai ir dvejetainiai failai (rašyti dvejetaine kalba, 0 ir 1).

    Teksto failai: šio tipo failuose kiekviena teksto eilutė baigiama specialiu simboliu, vadinamu EOL (Eilutės pabaiga), kuris pagal numatytuosius nustatymus yra naujas python eilutės simbolis (' '). Dvejetainiai failai: šio tipo failuose nėra eilutės pabaigos ir duomenys išsaugomi juos konvertavus į mašininiu būdu suprantamą dvejetainę kalbą.

Pastaba: Norėdami sužinoti daugiau apie failų tvarkymą paspauskite čia .

Prieigos režimas

Prieigos režimai reguliuoja atidarytame faile galimų operacijų tipą. Tai nurodo, kaip failas bus naudojamas jį atidarius. Šie režimai taip pat nustato failo rankenos vietą faile. Failo rankena yra tarsi žymeklis, nurodantis, iš kur faile turi būti skaitomi arba įrašomi duomenys. Skirtingi failo skaitymo prieigos režimai yra:



    Tik skaityti („r“): atidarykite tekstinį failą skaitymui. Rankena yra failo pradžioje. Jei failas neegzistuoja, atsiranda įvesties / išvesties klaida. Tai taip pat numatytasis failo atidarymo režimas. Skaityti ir rašyti („r+“): atidarykite failą skaitymui ir rašymui. Rankena yra failo pradžioje. Iškelia įvesties/išvesties klaidą, jei failo nėra. Pridėti ir skaityti („a+“): atidarykite failą skaitymui ir rašymui. Failas sukuriamas, jei jo nėra. Rankena yra failo gale. Rašomi duomenys bus įterpiami pabaigoje, po esamų duomenų.

Pastaba: Norėdami sužinoti daugiau apie prieigos režimą paspauskite čia .

Failo atidarymas

Tai atliekama naudojant funkciją open(). Šiai funkcijai nereikia importuoti modulio.

Sintaksė:

kas yra uri
File_object = open(r'File_Name', 'Access_Mode')>

Failas turi būti tame pačiame kataloge kaip ir python programos failas, failo pavadinimo vietoje turi būti parašytas visas failo adresas. Pastaba: R dedamas prieš failo pavadinimą, kad failo pavadinimo eilutėje esantys simboliai nebūtų traktuojami kaip specialieji simboliai. Pavyzdžiui, jei failo adresu yra emp, tada yra traktuojamas kaip skirtuko simbolis, o neteisingo adreso klaida iškeliama. R paverčia eilutę neapdorota, tai yra, ji nurodo, kad eilutė yra be jokių specialių simbolių. R gali būti nepaisoma, jei failas yra tame pačiame kataloge, o adresas nepateikiamas.

Python3




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

>

>

Čia failas1 sukuriamas kaip MyFile1 objektas, o failas2 - kaip objektas MyFile2.

Failo uždarymas

Funkcija close() uždaro failą ir atlaisvina to failo užimtą atminties vietą. Jis naudojamas tuo metu, kai failas nebereikalingas arba jei jis turi būti atidarytas kitu failo režimu.

Sintaksė:

File_object.close()>

Python3


linux komandos



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

>

>

Skaitymas iš failo

Yra trys būdai, kaip skaityti duomenis iš tekstinio failo.

    read() : grąžina skaitytus baitus eilutės forma. Nuskaito n baitų, jei nenurodyta n, nuskaito visą failą.
File_object.read([n])>
    readline() : skaito failo eilutę ir grąžina eilutės pavidalu. Nurodyta n nuskaito daugiausia n baitų. Tačiau neskaito daugiau nei vienos eilutės, net jei n viršija eilutės ilgį.
File_object.readline([n])>
    readlines() : nuskaito visas eilutes ir grąžina jas kaip eilutės eilutės elementą sąraše.
File_object.readlines()>

Pastaba: „ “ traktuojamas kaip specialus dviejų baitų simbolis.

Pavyzdys:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> 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>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()>

>

>

Vicky kaushal amžius

Išvestis:

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

Su pareiškimu

su pareiškimu Python yra naudojamas išimčių tvarkymui, kad kodas būtų švaresnis ir lengviau skaitomas. Tai supaprastina bendrų išteklių, pvz., failų srautų, valdymą. Skirtingai nuo aukščiau pateiktų diegimų, naudojant su sakiniu, nereikia iškviesti file.close(). Pats su teiginys užtikrina tinkamą išteklių įsigijimą ir išleidimą.

Sintaksė:

with open filename as file:>

Python3




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

>

>

Išvestis:

Hello This is Delhi This is Paris This is London>

Pastaba: Norėdami sužinoti daugiau apie tai su pareiškimu paspauskite čia .