Python ponuja vgrajen modul operacijskega sistema (OS), s katerim lahko dostopate do datotek in imenikov OS. Vsak uporabnik računalnika pogosto ugotovi, ali je treba v sistemu preveriti, ali obstaja datoteka. Denimo, da delate na datotečnem sistemu in se želite prepričati, da je datoteka na voljo, preden na njej izvedete kakršne koli večje operacije. Če poskušate krmariti ali odpreti neobstoječo datoteko, bi to povzročilo napako. V tem članku je razloženo, kako uporabljati različne mehanizme za preverjanje datotek Python.
Obstajajo tri različne funkcije Pythona, s katerimi lahko preverimo obstoj datoteke:
- pot.obstaja ()
- pot.isfile ()
- obstaja ()
Naslednji razdelki podrobneje obravnavajo te funkcije.
1. os.pot.obstaja ()
Pot.obstaja () funkcija je vgrajena funkcija, ki jo zagotavlja os modul. Ta funkcija sprejme datoteko poti in vrne 'true', če je datoteka prisotna. Če datoteke ni, funkcija vrne 'false.'Pred uporabo poti.obstajajo (), najprej morate uvoziti os modul.
Navedimo primer tega.
#importing os moduleuvoz os.pot
# z uporabo os.pot.obstajajo () za preverjanje obstoja datoteke
#, ki določa pot datoteke
tiskanje (os.pot.obstaja ("/ home / linuxhint / Documents / test.txt "))
Izhod
V tem izhodu lahko vidite, da je os.pot.Obstaja () funkcija vrne 'true', kar pomeni, da je datoteka prisotna na določeni poti.
Datoteka je tudi v imeniku.
Spremenimo zdaj zgoraj navedeni program. Spremenili bomo izjavo za tisk, da bomo rezultat bolj jasni.
#importing os moduleuvoz os.pot
# z uporabo os.pot.obstajajo () za preverjanje obstoja datoteke
#, ki določa pot datoteke
print ("Datoteka obstaja:", os.pot.obstaja ("/ home / linuxhint / Documents / test.txt "))
Izhod
Nato bomo datoteko spremenili in namesto nje določili datoteko, ki ne obstaja. Opazili boste, da os.pot.obstaja () funkcija bo vrnila 'false."
#imprting os moduluvoz os.pot
# z uporabo os.pot.obstajajo () za preverjanje obstoja datoteke
#, ki določa pot datoteke
print ("Datoteka obstaja:", os.pot.obstaja ("/ home / linuxhint / Documents / abcfile.txt "))
Izhod
Ta izhod kaže, da je os.pot.Obstaja () funkcija vrne 'false', če datoteka ne obstaja.
2. os.pot.isfile ()
Os.pot.isfile () se uporablja tudi za preverjanje obstoja datoteke. To je najpogostejši način preverjanja obstoja datoteke. Os.pot.funkcija isfile () zavzame pot datoteke kot parameter in preveri, ali podana pot vsebuje veljavno datoteko. Ta funkcija vrne 'true', če je podana pot običajna datoteka, in vrne 'false', če podana pot ni običajna datoteka. Poglejmo primer tega.
#imoprting os moduluvoz os.pot
# z uporabo os.pot.isfile (), da preveri obstoj datoteke
#, ki določa pot datoteke
print ("To je datoteka:", os.pot.isfile ("/ home / linuxhint / Documents / test.txt "))
Izhod
Os.pot.funkcija isfile () vrne 'true."
V tem primeru bomo podali ime neveljavne datoteke v dani poti. V izhodu boste videli, da je os.pot.funkcija isfile () vrne 'false."
#importing os moduleuvoz os.pot
# z uporabo os.pot.isfile (), da preveri obstoj datoteke
#, ki določa pot datoteke
print ("To je datoteka:", os.pot.isfile ("/ home / linuxhint / Documents / fileTest.txt "))
Izhod
3. pathlibPath.obstaja ()
Python 3.Različice 4 in novejše imajo modul pathlib za obravnavo datotečnih sistemov in poti.
Oglejmo si primer te funkcije:
#importing pathlib moduleuvozi pathlib
#storitev datoteke do spremenljivke s pomočjo funkcije Path ()
filePath = pathlib.Pot ("/ home / linuxhint / Documents / test.txt ")
Funkcija #using Obstaja () za preverjanje, ali datoteka obstaja
if filePath.obstaja ():
print ("Datoteka obstaja")
sicer:
print ("Datoteka ne obstaja")
Izhod
Dana datoteka obstaja v imeniku; zato funkcija Obstaja () vrne 'true."
Nato bomo v funkciji Path () določili neveljavno pot do datoteke in preverili izhod.
#importing pathlib moduleuvozi pathlib
#storitev datoteke do spremenljivke s pomočjo funkcije Path ()
filePath = pathlib.Pot ("/ home / linuxhint / Documents / testabc.txt ")
Funkcija #using Obstaja () za preverjanje, ali datoteka obstaja
if filePath.obstaja ():
print ("Datoteka obstaja")
sicer:
print ("Datoteka ne obstaja")
Izhod
Funkcija Obstaja () vrne 'false' in stavek else se izvede, ker datoteka v danem imeniku ne obstaja.
Podobno lahko z uporabo naslednjih vgrajenih funkcij preverimo obstoj imenika v Pythonu:
os.pot.isdir ()
Os.pot.funkcija isdir () vrne 'true', če navedeni imenik obstaja, in funkcija vrne 'false', če imenik ne obstaja.
Oglejmo si primer tega:
#importing os moduleuvoz os.pot
# z uporabo os.pot.isdir (), da preveri obstoj imenika
# podaja pot do imenika dokumentov
print ("To je imenik:", os.pot.isdir ("/ home / linuxhint / Documents"))
Izhod
Os.pot.funkcija isdir () vrne true, ker imenik obstaja v sistemu.
Zdaj določimo pot neveljavnega imenika.
#importing os moduleuvoz os.pot
# z uporabo os.pot.isdir (), da preveri obstoj direcoty
#, ki določa pot do imenika MyDocuments
print ("To je imenik:", os.pot.isdir ("/ home / linuxhint / MyDocuments"))
Izhod
Zaključek
V tem članku smo skozi več primerov razložili metode preverjanja obstoja datotek v Pythonu. Ta članek je prikazal različne načine preverjanja obstoja datoteke v Pythonu. Modula os in pathlib zagotavljata vgrajene funkcije za preverjanje obstoja katere koli datoteke v sistemu. To znanje se bo izkazalo za koristno, saj pogosto pri Pythonu in programiranju zahtevamo preverjanje obstoja datoteke.