Ovisnost Pythona o vanjskim datotekama ključan je aspekt, pametno je obratiti pažnju na osnovne/izvorne datoteke prije izvođenja bilo kojeg koda. Prije pokretanja određenog programa morate osigurati da vaše izvorne datoteke postoje na navedenom mjestu.
Svaki razvojni programer razumije potrebu za stvaranjem rezervnih kodova, koji mogu spasiti program da ne uspije u slučaju da uvjet nije ispunjen. U Pythonu postoji nekoliko načina provjere postoji li datoteka; evo najboljih metoda o kojima biste trebali znati.
1. Pokušajte i osim izjava
The try i except naredba provjerava naredbu i proizvodi izlaz. U donjem kodu, probati izraz će pokušati otvoriti datoteku (testfile.txt). Ako Pythonov procesor može locirati datoteku, otvorit će datoteku i ispisati rezultat Datoteka je otvorena i dostupna za upotrebu.
probati:
f = otvoren ('testfile.txt')
print ("Datoteka je dostupna za upotrebu")
f.close ()
osim IOError:
print ('Datoteka nije dostupna')
Ako naiđe na pogrešku, ispisat će rezultat Datoteka nije dostupna
. Nakon što se cijeli kod sastavi i izvrši, zatvorit će otvorenu datoteku ako je otvorena.Ovisnost Pythona o vanjskim datotekama ključan je aspekt i prije izvođenja kodova morate obratiti pažnju na osnovne/izvorne datoteke.
Prije izvođenja određenog programa provjerite postoje li vaše izvorne datoteke na određenom mjestu.
2. Os.path.isfile (put)
Python ima ugrađeni OS modula koji se može pozvati na interakciju s temeljnim datotekama, mapama i direktorijima. Pythona os.path.isfile () Metoda se može koristiti za provjeru direktorija i ako postoji određena datoteka.
Prvi korak je uvoz ugrađene funkcije pomoću uvoz os.puta knjižnica. Sljedeća naredba provjerava postoji li datoteka na određenom mjestu.
uvoz os.puta
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
Izlaz se vraća Pravi, jer datoteka postoji na određenom mjestu. Ako datoteka ne postoji, Python će se vratiti Netočno.
3. Os.path.exists (put)
Na sličnim osnovama, uvoz os Izjava knjižnice može se koristiti za provjeru postoji li direktorij na vašem sustavu.
Sintaksa je prilično jednostavna:
Uvoz os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")
Baš kao i prethodni korak, ako se direktorij/mapa nalazi na navedenoj putanji sustava, Python se vraća Pravi, a kasnije, Netočno, ako direktorij/mapa nije pronađen.
Povezano: Učenje Pythona? Evo kako kopirati datoteku
4. Os. Staza. Isdir (put)
Baš kao os.path.isfile i os.path.exists (), os.path.isdir () je podfunkcija os knjižnice. Jedina razlika ovdje je što ova naredba radi samo za direktorije. Očekivano, upotreba ove sintakse vraća logičku vrijednost na temelju postojanja direktorija.
Na primjer:
uvoz os
os.path.isdir (r "C: \ Korisnici \ Wini Bhalla \ Desktop \ OS")
Izlaz je Pravi, budući da mapa/direktorij postoji na navedenoj putanji.
uvoz os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")
Izlaz je Netočno, budući da mapa/direktorij ne postoji na navedenoj putanji.
5. Pathlib.path.exists ()
Python 3.4 i novije verzije nude Pathlib modul, koji se može uvesti pomoću uvoz funkcija. Pathlib bilježi potrebne funkcionalnosti na jednom mjestu i čini ga dostupnim kroz različite metode za korištenje s objektom putanje.
Za korištenje Pathliba:
import pathlib
file = pathlib. Put (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
ako datoteka.exists ():
print ("Datoteka postoji")
drugo:
print ("Datoteka ne postoji")
Prema postojanju datoteke, izlaz će prikazati postoji li datoteka na navedenoj putanji ili ne. U idealnom slučaju, kôd u ispisati Izjava se može promijeniti prema zahtjevima vašeg programa
6. Os.listdir (put)
The listdir method u Pythonu vraća popis svih datoteka u određenom direktoriju, kako je odredio korisnik. Međutim, ova metoda neće vratiti datoteke koje postoje u podmapama.
The listdir metoda prihvaća samo jedan parametar, putanju datoteke. U idealnom slučaju, put do datoteke bit će nazivi datoteka i mapa koje želite dohvatiti.
Osnovna sintaksa uključuje:
os.listdir (put)
U donjem primjeru možete stvoriti petlju za pregled svih datoteka navedenih u direktoriju, a zatim provjeriti postoji li navedena datoteka deklarirana s ako izjava.
uvoz os
path = r'C: \ Users \ Wini Bhalla \ Desktop '
datoteke = os.listdir (put)
ispis (datoteke)
Ovaj kôd ispisat će popis datoteka dostupnih u trenutnom direktoriju.
uvoz os
put = r'C: \ Users \ Wini Bhalla \ Desktop 'datoteke = os.listdir (put)
za f u datotekama:
ako je f == "test.txt":
print ("Datoteka postoji")
drugo:
print ("Datoteka ne postoji")
Nadalje, prilikom pokretanja petlje, listdir funkciju zajedno sa ako logika naredbe će se kretati po popisu datoteka i ispisivati rezultate, ovisno o uvjetima koji su prošli unutar datoteke ispisati izjava.
Povezano: Koristite petlje sa popisima u Pythonu
7. Modul Glob
The glob modul podudara sve nazive staza s navedenim parametrima i sažeto vam omogućuje pristup datotečnom sustavu. Budući da se glob koristi za podudaranje uzoraka, možete ga koristiti za provjeru statusa datoteke.
Postoje dvije reference puta:
- Apsolutni put: Koristite ovo kada želite tražiti datoteku u drugom direktoriju.
- Relativni put: Koristite ovo kada želite tražiti datoteku u trenutnom direktoriju.
Ako se datoteka pronađe, kôd će se vratiti Pravi, u protivnom će se vratiti Netočno.
Primjer upotrebe Globa:
uvoz glob
if glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Datoteka postoji")
drugo:
print ("Datoteka ne postoji")
Izlaz iz ovog koda ispisat će rezultat, ako se datoteka pronađe.
8. Podproces
Naredba testa u modulu podprocesa učinkovit je način provjere postojanja datoteka i direktorija. Naredbe za testiranje rade samo na Unix strojevima, a ne na Windows strojevima sa OS -om.
Prema vašim potrebama možete koristiti sljedeće naredbe:
- test -e: Provjerite postojanje puta
- test -f: Provjerite postojanje datoteke
- test-d: Provjerite postojanje mape
Provjeravanje puta s podprocesom:
iz pokretanja uvoza podprocesa
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0
Ovaj kôd se naziva test funkcija koju slijedi '-e' za provjeru postojanja puta. Funkcija prikazuje Netočno za neispravan put.
Provjera datoteke pomoću potprocesa:
run (['test', '-f', 'testfile.txt']). returncode == 0
run (['test', '-f', 'testdirectory']). returncode == 0
The '-f' funkcija provjerava postojanje datoteke i vraća se Netočno za imenik.
Provjera direktorija pomoću potprocesa:
run (['test', '-d', 'testfile.txt']). returncode == 0
run (['test', '-d', 'testdirectory']). returncode == 0
The '-d' funkcija testira postojanje direktorija i vraća Netočno za bilo koji upit datoteke u naredbi test.
Koju ćete naredbu koristiti za lociranje datoteka?
Python je relativno jednostavan za korištenje jezik i nudi mnogo mogućnosti krajnjim korisnicima. Za provjeru postojanja datoteke možete koristiti bilo koji od gore navedenih postupaka.
Međutim, ako ste početnik, uvijek postoje načini za učenje Pythona. Budući da je Python ogroman jezik, najbolje je provesti neko vrijeme razumijevajući različite nijanse i raspon naredbi.
Python je iznimno svestran, s aplikacijama u rasponu od web razvoja do analize podataka.
Pročitajte Dalje
- Programiranje
- Piton
- Savjeti za kodiranje

Wini je pisac sa sjedištem u Delhiju, s 2 godine iskustva u pisanju. Tijekom svog pisanja bila je povezana s agencijama za digitalni marketing i tehničkim tvrtkama. Napisala je sadržaj koji se odnosi na programske jezike, cloud tehnologiju, AWS, Machine Learning i još mnogo toga. U slobodno vrijeme voli slikati, provoditi vrijeme s obitelji i putovati u planine, kad god je to moguće.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu