În acest tutorial vom vedea cum să implementați un program scurt Python care se va ocupa de căutarea fișierelor care conțin un anumit nume, în directorul pe care i-l transmitem (dacă nu-i trecem un director, acesta va căuta din directorul curent). Vom vedea că este un cod foarte simplu de făcut și înțeles.
NotăExemplul pe care îl voi pune în acest tutorial îl voi executa în Python 3.X.
Mai întâi las codul complet și mai jos va fi explicat parte cu parte:
import sys, os search = director "solvetic" = os.getcwd () total = 0 if (len (sys.argv)> 1): if (nu os.path.isdir (sys.argv [1])): print (sys.argv [1], "nerecunoscut ca director") sys.exit (1) director = sys.argv [1] pentru root, dir, fișiere în os.walk (director): pentru fișier în fișiere: if ( căutare în fișier.lower ()): print (rădăcină + "\" + fișier) total + = 1 print ("În total există", total, "fișiere cu", căutare)Acum vom începe explicația codului, dacă știți deja ceva despre Python, cu siguranță l-ați înțeles deja în cea mai mare parte.
Pentru a realiza acest program vom folosi modulul os să interacționeze cu sistemul de operare și sys pentru a controla intrarea argumentului și posibila ieșire fără bruscă. Sunt module pe care le avem deja în Python, deci nu trebuie să instalăm altceva.
import sys, osÎn continuare vom defini o variabilă numită căutare cu cuvântul pe care urmează să-l căutăm (am putea să-l primim ca parametru, dar în acest caz, de exemplu va fi solvetic), un alt director numit care va conține calea de unde vom începe (implicit directorul curent de unde rulăm programul). Și ultima variabilă pe care o vedem în total este să ținem evidența fișierelor pe care le găsim.
search = director "solvetic" = os.getcwd () total = 0Acum vom verifica dacă am primit parametri și dacă da verificăm dacă ne-au dat un director, dacă este adevărat, salvăm directorul în variabila „director”, dacă nu, variabila respectivă rămâne aceeași, adică cu directorul curent.
if (len (sys.argv)> 1): if (nu os.path.isdir (sys.argv [1])): print (sys.argv [1], "nerecunoscut ca director") sys.exit ( 1) director = sys.argv [1]Următorul pas este o buclă, funcția os.walk (director) va citi numele fișierelor recursiv, adică va trece prin fișierele și directoarele din directorul pe care îl trecem către el. Atunci singurul lucru care ne interesează în acest exemplu este să arătăm fișierele care conțin cuvântul solvetic, așa că vom parcurge fișierele și vom verifica dacă au cuvântul căutat, pentru a găsi și fișierele care conțin cuvântul cu o literă mare. folosim funcția inferioară, că tot ce face este să lase întregul șir cu litere mici. Deoarece suntem interesați să vedem calea completă a fișierului, concatenăm variabila rădăcină cu fișierul, deoarece rădăcina returnează directorul pe care l-am citit.
pentru root, dir, fișiere în os.walk (director): pentru fișier în fișiere: if (căutare în file.lower ()): print (root + "\" + fișier) total + = 1Chiar înainte de a termina programul, acesta va picta pe ecran o linie cu numărul de fișiere găsite cu numele de solvetic.
print ("În total există", total, "fișiere cu", căutare)Acum voi pune câteva capturi de ecran ale execuției programului, apoi execuția fără parametru, adică va face căutarea din directorul curent:
Următoarele pentru a căuta de pe discul C în Windows:
Și, în cele din urmă, o captură atunci când ceva care nu este un director este trecut ca parametru:
Și tutorialul s-a terminat, dacă sunteți interesat să investigați în continuare modulul, iată un link către documentația oficială, acesta este în limba engleză.
V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv