Dependența Python de fișierele externe este un aspect crucial, este înțelept să țineți cont de fișierele de bază / sursă înainte de a executa orice cod. Înainte de a rula un anumit program, trebuie să vă asigurați că fișierele sursă există în locația specificată.
Fiecare dezvoltator înțelege nevoia de a crea coduri de rezervă, care pot salva o prorgramă de la eșec în cazul în care o condiție nu este îndeplinită. În Python, există mai multe moduri de a verifica dacă există un fișier; aici sunt metodele de top despre care ar trebui să știți.
1. Încercați și cu excepția declarațiilor
The try and except statement verifică o comandă și produce o ieșire. În codul de mai jos, încerca declarația va încerca să deschidă un fișier (testfile.txt). Dacă procesorul Python este capabil să localizeze fișierul, acesta va deschide fișierul și va imprima rezultatul Fișierul este deschis și disponibil pentru utilizare.
încerca:
f = deschis ('testfile.txt')
print („Fișierul este disponibil pentru utilizare”)
f.close ()
cu excepția IOError:
print („Fișierul nu este accesibil”)
Dacă întâmpină o eroare, va imprima rezultatul Fișierul nu este accesibil. Odată ce codul complet este compilat și executat, acesta va închide fișierul deschis dacă a fost deschis.
Dependența Python de fișierele externe este un aspect crucial și trebuie să țineți cont de fișierele de bază / sursă, înainte de a executa orice cod.
Înainte de a executa un anumit program, asigurați-vă că fișierele sursă există la locația specifică.
2. Os.path.isfile (cale)
Python are un modul de operare încorporat, care poate fi apelat pentru a interacționa cu fișierele, folderele și directoarele subiacente. Python’s os.path.isfile () metoda poate fi utilizată pentru a verifica un director și dacă există un fișier specific.
Primul pas este să importați funcția încorporată folosind import os.path bibliotecă. Următoarea comandă verifică dacă fișierul există în locația specifică.
import os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
Ieșirea revine Adevărat, deoarece fișierul există la locația specifică. Dacă fișierul nu există, Python va reveni Fals.
3. Os.path.exists (cale)
Din motive similare, import os declarația de bibliotecă poate fi utilizată pentru a verifica dacă directorul există pe sistemul dvs.
Sintaxa este destul de simplă:
Importați os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")
La fel ca pasul anterior, dacă directorul / folderul se găsește pe calea de sistem specificată, Python revine Adevăratși, ulterior, Fals, dacă directorul / folderul nu este găsit.
Legate de: Învățați Python? Iată Cum să copiați un fișier
4. Os. Cale. Isdir (cale)
La fel ca os.path.isfile și os.path.exists (), os.path.isdir () este o subfuncție a bibliotecii OS. Singura diferență aici este că această comandă funcționează numai pentru directoare. Așa cum era de așteptat, utilizarea acestei sintaxi returnează o valoare booleană bazată pe existența directoarelor.
De exemplu:
import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")
Ieșirea este Adevărat, deoarece folderul / directorul există pe calea specificată.
import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")
Ieșirea este Fals, deoarece folderul / directorul nu există pe calea specificată.
5. Pathlib.path.exists ()
Python 3.4 și versiunile de mai sus oferă Pathlib modul, care poate fi importat folosind import funcţie. Pathlib captează funcționalitățile necesare într-un singur loc și îl face disponibil prin diferite metode de utilizat cu obiectul cale.
Pentru a utiliza Pathlib:
import pathlib
fișier = pathlib. Calea (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
dacă file.exists ():
print („Fișierul există”)
altceva:
print („Fișierul nu există”)
Conform existenței fișierului, rezultatul va afișa dacă fișierul există sau nu în calea specificată. În mod ideal, codul din imprimare declarația poate fi modificată, conform cerințelor programului dvs.
6. Os.listdir (cale)
The listdir metoda din Python returnează o listă cu toate fișierele dintr-un director specific, așa cum este specificat de utilizator. Cu toate acestea, această metodă nu va returna niciun fișier existent în subfoldere.
The listdir metoda acceptă doar un parametru, calea fișierului. În mod ideal, calea fișierului va fi numele fișierelor și folderelor pe care doriți să le preluați.
Sintaxa de bază include:
os.listdir (cale)
În exemplul de mai jos, puteți crea o buclă pentru a parcurge toate fișierele listate în director și apoi verificați existența fișierului specificat declarat cu dacă afirmație.
import os
cale = r'C: \ Utilizatori \ Wini Bhalla \ Desktop '
files = os.listdir (cale)
print (fisiere)
Acest cod va imprima lista fișierelor disponibile în directorul curent.
import os
cale = r'C: \ Users \ Wini Bhalla \ Desktop 'files = os.listdir (cale)
pentru f în fișiere:
dacă f == "test.txt":
print („Fișierul există”)
altceva:
print („Fișierul nu există”)
Mai departe, când se execută bucla, listdir funcția împreună cu dacă logica de instrucțiuni va parcurge lista de fișiere și va imprima rezultatele, în funcție de condițiile trecute în cadrul imprimare afirmație.
Legate de: Utilizați bucle cu liste în Python
7. Modul Glob
The glob modulul se potrivește cu toate căile de acces cu parametrii specificați și vă permite să accesați în mod succint sistemul de fișiere. Deoarece globul este utilizat pentru potrivirea modelelor, îl puteți utiliza pentru a verifica starea unui fișier.
Există două referințe ale căii:
- Calea absolută: Utilizați acest lucru atunci când doriți să căutați un fișier într-un alt director.
- Calea relativă: Folosiți acest lucru atunci când doriți să căutați un fișier în directorul curent.
Dacă fișierul este găsit, codul va reveni Adevărat, altfel se va întoarce Fals.
Un exemplu de utilizare a lui Glob:
import glob
dacă glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print („Fișierul există”)
altceva:
print („Fișierul nu există”)
Ieșirea din acest cod va imprima rezultatul, dacă fișierul este găsit.
8. Subproces
Comanda de testare din modulul de subproces este un mod eficient de testare a existenței fișierelor și directoarelor. Comenzile de testare funcționează numai pe mașini bazate pe Unix și nu pe mașini de sisteme de operare bazate pe Windows.
Puteți utiliza următoarele comenzi conform nevoilor dvs.:
- test -e: Verificați existența unei căi
- test -f: Verificați existența unui fișier
- test-d: Verificați existența unui folder
Verificarea unei căi cu subproces:
din rularea importului subprocesului
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0
Acest cod numit funcția de test urmat de „-e” pentru a verifica existența unei căi. Funcția arată Fals pentru o cale nevalidă.
Verificarea unui fișier cu subproces:
run (['test', '-f', 'testfile.txt']). returncode == 0
run (['test', '-f', 'testdirectory']). returncode == 0
The „-f” funcția testează existența unui fișier și revine Fals pentru un director.
Verificarea unui director cu subproces:
run (['test', '-d', 'testfile.txt']). returncode == 0
run (['test', '-d', 'testdirectory']). returncode == 0
The „-d” funcția testează existența unui director și revine Fals pentru orice interogare de fișier din comanda de testare.
Ce comandă veți folosi pentru a localiza fișierele dvs.?
Python este un limbaj relativ ușor de utilizat și oferă o mulțime de opțiuni utilizatorilor finali. Pentru verificarea existenței unui fișier (fișierelor), puteți utiliza oricare dintre procedurile enumerate mai sus.
Cu toate acestea, dacă sunteți începător, există întotdeauna modalități de a învăța Python. Deoarece Python este un limbaj vast, este mai bine să petreceți ceva timp înțelegând diferitele nuanțe și gama sa de comenzi.
Python este extrem de versatil, cu aplicații variind de la dezvoltarea web până la analiza datelor.
Citiți în continuare
- Programare
- Piton
- Sfaturi de codare
Wini este un scriitor din Delhi, având 2 ani de experiență în scriere. În timpul perioadelor sale de scriere, a fost asociată cu agenții de marketing digital și firme tehnice. A scris conținut legat de limbaje de programare, tehnologie cloud, AWS, Machine Learning și multe altele. În timpul liber, îi place să picteze, să petreacă timp cu familia și să călătorească la munte, ori de câte ori este posibil.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Faceți clic aici pentru a vă abona