Piton

Provjerite postoji li datoteka u Pythonu

Provjerite postoji li datoteka u Pythonu

Python nudi ugrađeni modul operativnog sustava (OS) koji se može koristiti za pristup OS datotekama i direktorijima. Bilo koji korisnik računala često pronađe potrebu da provjeri postoji li datoteka u sustavu. Na primjer, pretpostavimo da radite na datotečnom sustavu i želite biti sigurni da je datoteka dostupna prije izvođenja bilo kakvih većih operacija na njoj. Ako pokušate kretati se ili otvarati nepostojeću datoteku, to bi moglo dovesti do pogreške. Ovaj vam članak pokazuje kako koristiti razne Python mehanizme za provjeru datoteka.

Postoje tri različite Python funkcije koje se mogu koristiti za provjeru postojanja datoteke:

  1. staza.postoji ()
  2. staza.isfile ()
  3. postoji ()

Sljedeći odjeljci detaljnije razmatraju ove funkcije.

1. os.staza.postoji ()

Put.postoji () funkcija je ugrađena funkcija koju pruža os modul. Ova funkcija uzima datoteku puta i vraća 'true' ako je datoteka prisutna. Ako datoteka nije prisutna, funkcija vraća 'false.'Prije korištenja putanje.postoji (), prvo morate uvesti os modul.

Navedimo primjer toga.

#importing os modula
uvoz os.staza
# pomoću os.staza.postoji () za provjeru postojanja datoteke
# specificirajući put datoteke
ispis (os.staza.postoji ("/ home / linuxhint / Documents / test.txt "))

Izlaz
U ovom izlazu možete vidjeti da je os.staza.postoji () funkcija vraća 'true', što znači da je datoteka prisutna na navedenom putu.

Datoteka je također prisutna u direktoriju.

Izmijenimo sada navedeni program. Izmijenit ćemo ispis kako bismo rezultat učinili jasnijim.

#importing os modula
uvoz os.staza
# pomoću os.staza.postoji () za provjeru postojanja datoteke
# specificirajući put datoteke
print ("Datoteka postoji:", os.staza.postoji ("/ home / linuxhint / Documents / test.txt "))

Izlaz

Dalje, promijenit ćemo datoteku i umjesto toga odrediti datoteku koja ne postoji. Primijetit ćete da os.staza.postoji () funkcija će vratiti 'false.'

#imprting os modul
uvoz os.staza
# pomoću os.staza.postoji () za provjeru postojanja datoteke
# specificirajući put datoteke
print ("Datoteka postoji:", os.staza.postoji ("/ home / linuxhint / Documents / abcfile.txt "))

Izlaz
Ovaj izlaz pokazuje da je os.staza.postoji () funkcija vraća 'false' kada datoteka ne postoji.

2. os.staza.isfile ()

Os.staza.funkcija isfile () također se koristi za provjeru postojanja datoteke. Ovo je najčešći način provjere postojanja datoteke. Os.staza.funkcija isfile () uzima put datoteke kao parametar i provjerava sadrži li zadana staza valjanu datoteku. Ova funkcija vraća 'true' kada je zadana staza redovita datoteka i vraća 'false' ako zadana staza nije redovita datoteka. Pogledajmo primjer toga.

#imoprting os modul
uvoz os.staza
# pomoću os.staza.isfile () za provjeru postojanja datoteke
# specificirajući put datoteke
print ("Ovo je datoteka:", os.staza.isfile ("/ home / linuxhint / Documents / test.txt "))

Izlaz
Os.staza.funkcija isfile () vraća 'true.'

U ovom ćemo primjeru odrediti ime nevaljane datoteke u danom putu. U izlazu ćete vidjeti da je os.staza.funkcija isfile () vraća 'false.'

#importing os modula
uvoz os.staza
# pomoću os.staza.isfile () za provjeru postojanja datoteke
# specificirajući put datoteke
print ("Ovo je datoteka:", os.staza.isfile ("/ home / linuxhint / Documents / fileTest.txt "))

Izlaz

3. pathlibPath.postoji ()

Python 3.Verzije 4 i novije imaju modul pathlib za obradu datotečnih sustava i staza.

Pogledajmo primjer ove funkcije:

#importing pathlib module
import pathlib
#storing put datoteke u varijablu pomoću funkcije Path ()
filePath = pathlib.Put ("/ home / linuxhint / Documents / test.txt ")
Funkcija #using existing () provjerava postoji li datoteka
ako filePath.postoji ():
print ("Datoteka postoji")
drugo:
print ("Datoteka ne postoji")

Izlaz
Datoteka postoji u direktoriju; stoga funkcija postoji () vraća 'true.'

Dalje ćemo odrediti nevažeću stazu datoteke u funkciji Path () i provjeriti izlaz.

#importing pathlib module
import pathlib
#storing file file u varijablu pomoću funkcije Path ()
filePath = pathlib.Put ("/ home / linuxhint / Documents / testabc.txt ")
Funkcija #using postoji () provjerava postoji li datoteka
ako filePath.postoji ():
print ("Datoteka postoji")
drugo:
print ("Datoteka ne postoji")

Izlaz
Funkcija существу () vraća 'false', a naredba else izvršava se jer datoteka ne postoji u danom direktoriju.

Slično tome, možemo provjeriti postojanje direktorija u Pythonu pomoću sljedećih ugrađenih funkcija:

os.staza.isdir ()

Os.staza.funkcija isdir () vraća 'true' ako navedeni direktorij postoji, a funkcija vraća 'false' ako direktorij ne postoji.

Pogledajmo primjer toga:

#importing os modula
uvoz os.staza
# pomoću os.staza.isdir () da provjeri postojanje direktorija
# specificirajući put do direktorija dokumenata
print ("Ovo je direktorij:", os.staza.isdir ("/ home / linuxhint / Documents"))

Izlaz
Os.staza.funkcija isdir () vraća true jer direktorij postoji u sustavu.

Sada odredimo put neispravnog direktorija.

#importing os modula
uvoz os.staza
# pomoću os.staza.isdir () za provjeru postojanja direcoty
# specificirajući put direktorija MyDocuments
print ("Ovo je direktorij:", os.staza.isdir ("/ home / linuxhint / MyDocuments"))

Izlaz

Zaključak

U ovom smo članku objasnili metode provjere postojanja datoteka u Pythonu kroz nekoliko primjera. Ovaj je članak prikazao razne načine provjere postojanja datoteke u Pythonu. Moduli os i pathlib pružaju ugrađene funkcije za provjeru postojanja bilo koje datoteke u sustavu. Ovo će se znanje pokazati korisnim, jer to često bude slučaj u Pythonu i programiranju da vam je potrebna provjera postojanja datoteke.

Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...