Kako preveriti, ali datoteka obstaja v Pythonu

How Check File Exists Python



Za številne programske namene je treba ugotoviti, ali datoteka obstaja ali ne. Na primer, pomembno je vedeti, da datoteka obstaja, preden datoteko odprete za branje, sicer prikaže sporočilo o napaki. Če želite preprečiti prepisovanje obstoječe datoteke, morate pred pisanjem ugotoviti, ali datoteka že obstaja ali ne. V Pythonu je veliko vgrajenih funkcij za preverjanje obstoja katere koli datoteke. V tej vadnici so prikazani različni načini preverjanja, ali datoteka obstaja ali ne.

Preverite, ali datoteka obstaja z os.path.isfile ():

ti modul vsebuje različne načine preverjanja, ali obstajajo datoteke ali imeniki. Naslednji primer je os.path . isfile () metoda ti modul se uporablja za preverjanje, ali datoteka obstaja ali ne. Tukaj lahko uporabnik navede samo ime datoteke, če datoteka obstaja na trenutni lokaciji ali ime datoteke s potjo kot vnosom. Naslednji, os.path.isfile () metoda se uporablja za preverjanje, ali je pot veljavna ali ne, in je podano ime datoteke datoteka ali simbolna povezava datoteke.







#!/usr/bin/env python3
# Uvozi OS modul
uvoz ti

# Vzemite ime datoteke
fn= vnos('Vnesite ime datoteke za branje: n')
# Preverite, ali datoteka obstaja ali ne
če ti.pot.isfile(fn):
# natisnite sporočilo, če datoteka obstaja
tiskanje ('Datoteka obstaja')
drugače:
# Natisnite sporočilo, če datoteka ne obstaja
tiskanje ('Datoteka ne obstaja')

Izhod:



Pri prvem vnosu je kot vhod podano neveljavno ime datoteke, izhod pa se prikaže 'Datoteka ne obstaja' . V drugem vhodu je kot vhod podano veljavno ime datoteke, izhod pa se prikaže 'Datoteka obstaja' .







Preverite, ali datoteka obstaja z os.path.exists ():

V naslednjem scenariju os.path.exists () se uporablja za preverjanje obstoja katere koli datoteke. Metoda se uporablja za preizkušanje katere koli poti, datoteke, imenika ali simbolne povezave. Tukaj deluje podobno kot prejšnji primer.

#!/usr/bin/env python3
# Uvozi OS modul
uvoz ti

# Vzemite ime datoteke
fn= vnos('Vnesite ime datoteke za branje: n')
# Preverite, ali pot do datoteke obstaja ali ne
če ti.pot.obstaja(fn):
# natisnite sporočilo, če pot obstaja
tiskanje ('Datoteka obstaja')
drugače:
# Natisnite sporočilo, če pot do datoteke ne obstaja
tiskanje ('Datoteka ne obstaja')

Izhod:



Pri prvem vnosu je kot vnos podana neveljavna pot do datoteke in os.path.exists () vrnil false. Izhod prikazuje 'Datoteka ne obstaja' . V drugem vhodu je kot vhod podana veljavna pot datoteke in os.path.exists () vrnilo res. Izhod prikazuje 'Datoteka obstaja' .

Preverite, ali datoteka obstaja z is_file () modula pathlib:

pathlib module je še en uporaben modul pythona za preverjanje, ali katera koli datoteka ali imenik obstaja ali ne. Vsebuje različne metode, kot so ti modul za preizkus poti, datoteke ali imenika. Naslednji skript prikazuje uporabo is_file () način tega modula za preverjanje, ali datoteka obstaja ali ne. Ime datoteke bo vzeto od uporabnika kot prejšnji primer. Izhod bo prikazan na podlagi vrnjene vrednosti is_file () metoda. Če datoteka obstaja, potem

bo prikazana vsebina datoteke.

#!/usr/bin/env python3
odpathlibuvozPot
# Vzemite ime datoteke
fn= vnos('Vnesite ime datoteke za branje: n')

čePot(fn).is_file():
# natisnite sporočilo, če obstaja pot do datoteke
tiskanje (' nDatoteka obstaja ')
tiskanje('Spodaj prikazana vsebina datoteke:' )
# Odprite datoteko za branje
fh= odprto(fn)
# Natisnite vsebino datoteke
tiskanje(fh.prebrati())
drugače:
# Natisnite sporočilo, če pot do datoteke ne obstaja
tiskanje ('Datoteka ne obstaja')

Izhod:

Pri prvem vnosu je kot vhod podano neveljavno ime datoteke, izhod pa se prikaže 'Datoteka ne obstaja' . V drugem vhodu je kot vhod podano veljavno ime datoteke, izhod pa se prikaže 'Datoteka obstaja' in prikaže se vsebina datoteke.

Preverite, ali datoteka obstaja z uporabo Obstaja () modula pathlib:

pathlib modul vsebuje tudi obstaja () metoda podobna os modul. Naslednji primer prikazuje uporabo te metode. Če pot do datoteke obstaja, bo prikazana vsebina datoteke.

#!/usr/bin/env python3
uvozpathlib
# Vzemite ime datoteke
fn= vnos('Vnesite ime datoteke za branje: n')
pot=pathlib.Pot(fn)
čepot.obstaja():
# natisnite sporočilo, če obstaja pot do datoteke
tiskanje (' nDatoteka obstaja ')
tiskanje('Spodaj prikazana vsebina datoteke:' )
# Odprite datoteko za branje
fh= odprto(fn)
# Natisnite vsebino datoteke
tiskanje(fh.prebrati())
drugače:
# Natisnite sporočilo, če pot do datoteke ne obstaja
tiskanje ('Datoteka ne obstaja')

Izhod:

V prvem vhodu je kot vhod podana neveljavna pot datoteke, izhod pa se prikaže 'Datoteka ne obstaja' . V drugem vhodu je kot vhod podana veljavna pot datoteke, izhod pa se prikaže 'Datoteka obstaja' in prikaže se vsebina datoteke.

Preverite, ali datoteka obstaja z obdelavo izjem:

S funkcijo obravnave izjem python lahko preprosto preverite, ali datoteka obstaja ali ne. Naslednji skript prikazuje, kako lahko preverite, ali datoteka obstaja, ne da bi uvozili kateri koli modul. Ko vzamete ime datoteke, se bo datoteka odprla v poskusite blok. Če datoteka ne obstaja, bo ustvarila izjemo in natisnila sporočilo o napaki po meri.

#!/usr/bin/env python3
# Vzemite ime datoteke
fn= vnos('Vnesite ime datoteke za branje: n')
poskusite:
# Odprite datoteko za branje
fileHandler= odprto(fn)
# Natisnite naslednje sporočilo, če ne pride do izjeme
tiskanje('Datoteka obstaja')
# zaprite datoteko
fileHandler.blizu()
razenFileNotFoundError:
# Če pride do napake, natisnite naslednje sporočilo
tiskanje('Datoteka ne obstaja ali je dostopna')
končno:
# natisnite sporočilo o prekinitvi
tiskanje('Konec programa')

Izhod:

Če je podano neveljavno ime datoteke in veljavno ime datoteke, se prikaže naslednji izhod.

Zaključek:

Različni načini preverjanja, ali datoteka obstaja ali ne obstaja v pythonu, so opisani v tej vadnici z uporabo različnih vrst primerov. Moduli Python se uporabljajo v nekaterih skriptah, tukaj pa se uporablja skript za obravnavo izjem. Uporabnik lahko sledi kateremu koli načinu preverjanja, ali datoteka obstaja ali ne.