Python ponuja vgrajene funkcije za ustvarjanje, pisanje in branje datotek. Python lahko obdeluje dve vrsti datotek, običajne besedilne datoteke in binarne datoteke (napisane v binarnem jeziku, 0 in 1).
- Besedilne datoteke: V tej vrsti datoteke se vsaka vrstica besedila konča s posebnim znakom, imenovanim EOL (konec vrstice), ki je privzeto znak nove vrstice ('
') v pythonu. Binarne datoteke: V tej vrsti datoteke ni terminatorja za vrstico in podatki so shranjeni po pretvorbi v strojno razumljiv binarni jezik.
Opomba: Če želite izvedeti več o ravnanju z datotekami Klikni tukaj .
Način dostopa
Načini dostopa urejajo vrsto možnih operacij v odprti datoteki. Nanaša se na to, kako bo datoteka uporabljena, ko bo odprta. Ti načini določajo tudi lokacijo ročaja datoteke v datoteki. Ročaj datoteke je kot kazalec, ki določa, od kod se morajo podatki prebrati ali zapisati v datoteko. Različni načini dostopa za branje datoteke so:
- Samo za branje ('r'): Odprite besedilno datoteko za branje. Ročaj je nameščen na začetku datoteke. Če datoteka ne obstaja, sproži V/I napako. To je tudi privzeti način odpiranja datoteke. Branje in pisanje ('r+'): Odprite datoteko za branje in pisanje. Ročaj je nameščen na začetku datoteke. Sproži V/I napako, če datoteka ne obstaja. Dodaj in preberi ('a+'): Odprite datoteko za branje in pisanje. Datoteka se ustvari, če ne obstaja. Ročaj je nameščen na koncu datoteke. Podatki, ki se zapisujejo, bodo vstavljeni na koncu, za obstoječimi podatki.
Opomba: Če želite izvedeti več o načinu dostopa Klikni tukaj .
Odpiranje datoteke
Izvede se s funkcijo open(). Za to funkcijo ni treba uvoziti nobenega modula.
Sintaksa:
rdbms
File_object = open(r'File_Name', 'Access_Mode')>
Datoteka mora obstajati v istem imeniku kot datoteka programa python sicer, polni naslov datoteke mora biti zapisan na mestu imena datoteke. Opomba: R je postavljen pred ime datoteke, da prepreči, da bi znake v nizu imena datoteke obravnavali kot posebne znake. Na primer, če je v naslovu datoteke emp, potem se obravnava kot znak tabulatorke in pojavi se napaka zaradi neveljavnega naslova. R naredi niz surov, to pomeni, da pove, da je niz brez posebnih znakov. R lahko prezrete, če je datoteka v istem imeniku in naslov ni postavljen.
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> +> ')> |
>
>
Tukaj je file1 ustvarjen kot objekt za MyFile1 in file2 kot objekt za MyFile2.
Zapiranje datoteke
funkcija close() zapre datoteko in sprosti pomnilniški prostor, ki ga je pridobila ta datoteka. Uporablja se takrat, ko datoteka ni več potrebna ali če jo je treba odpreti v drugem datotečnem načinu.
Sintaksa:
File_object.close()>
Python3
niz n java
# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1> => open> ('MyFile.txt', 'r')> file1.close()> |
>
>
Branje iz datoteke
Obstajajo trije načini branja podatkov iz besedilne datoteke.
- read() : vrne prebrane bajte v obliki niza. Prebere n bajtov, če n ni določen, prebere celotno datoteko.
File_object.read([n])>
- readline() : prebere vrstico datoteke in vrne v obliki niza. Za podano n prebere največ n bajtov. Vendar ne prebere več kot ene vrstice, tudi če n presega dolžino vrstice.
File_object.readline([n])>
- readlines() : prebere vse vrstice in jih vrne kot vsako vrstico kot element niza na seznamu.
File_object.readlines()>
Opomba: ' ' se obravnava kot poseben znak dveh bajtov.
primer:
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()> |
>
>
Izhod:
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 ']>
Z izjavo
with statement v Pythonu se uporablja pri obravnavanju izjem, da je koda čistejša in veliko bolj berljiva. Poenostavlja upravljanje skupnih virov, kot so datotečni tokovi. Za razliko od zgornjih izvedb pri uporabi stavka with ni treba klicati file.close(). Sama izjava with zagotavlja pravilno pridobivanje in sprostitev virov.
Sintaksa:
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())> |
>
java regex za
>
Izhod:
Hello This is Delhi This is Paris This is London>
Opomba: Če želite izvedeti več o z izjavo Klikni tukaj .