Помоћу Питхона пронађите датотеке по имену на чврстом диску

Преглед садржаја

У овом водичу ћемо видети како имплементирати кратки Питхон програм који ће се побринути за тражење датотека које садрже одређено име, у директоријуму који му проследимо (ако му не проследимо директоријум, тражиће из тренутног директоријума). Видећемо да је то врло једноставан код за разумевање.

БелешкаПример који ћу ставити у овај водич водићу у Питхону 3.Кс.

Прво остављам комплетан код, а испод ће бити објашњено део по део:

 импорт сис, ос сеарцх = "солутионтиц" дирецтори = ос.гетцвд () тотал = 0 иф (лен (сис.аргв)> 1): иф (нот ос.патх.исдир (сис.аргв [1])): принт (сис.аргв [1], "није препознат као директориј") сис.екит (1) директориј = сис.аргв [1] за роот, дир, датотеке у ос.валк (директориј): за датотеку у датотекама: иф ( претрага у филе.ловер ()): принт (роот ​​+ "\" + датотека) укупно + = 1 испис ("Укупно има", укупно, "датотеке са", претрага) 
Сада ћемо започети објашњење кода, ако већ знате нешто о Питхону, сигурно сте то већином разумели.

За спровођење овог програма користићемо ос модул за интеракцију са оперативним системом и сис да контролише унос аргумента и могући излаз без наглости. То су модули које већ имамо у Питхону, тако да не морамо ништа друго да инсталирамо.

 импорт сис, ос 
Затим ћемо дефинисати променљиву која се зове претрага са речју коју ћемо претраживати (могли бисмо је примити као параметар, али у овом случају, на пример, то ће бити решење), још један позвани директоријум који ће садржати путању одакле ћемо почети (подразумевано тренутни директоријум одакле покрећемо програм). И последња променљива коју укупно видимо је да пратимо датотеке које налазимо.
 сеарцх = "Ријешен" директориј = ос.гетцвд () укупно = 0 
Сада ћемо проверити да ли смо примили неке параметре и ако је тако, проверавамо да ли су нам дали директоријум, ако је тачно, сачувамо директоријум у променљивој „именик“, ако не, та променљива остаје иста, односно са тренутним имеником.
 иф (лен (сис.аргв)> 1): иф (не ос.патх.исдир (сис.аргв [1])): принт (сис.аргв [1], "није препознат као директоријум") сис.екит ( 1) директоријум = сис.аргв [1] 
Следећи корак је петља, функција ос.валк (именик) ће рекурзивно читати називе датотека, односно проћи ће кроз датотеке и директоријуме из директоријума који му проследимо. Тада нас једино занима у овом примеру да прикажемо датотеке које садрже реч солутик, па ћемо проћи кроз датотеке и проверити да ли имају тражену реч, да бисмо пронашли и датотеке које садрже реч са неким великим словом ми користимо нижу функцију, све што ради је да цео низ остави малим словима. Пошто смо заинтересовани да видимо комплетну путању до датотеке, повезујемо променљиву роот са датотеком, пошто роот враћа директоријум који смо прочитали.
 за роот, дир, датотеке у ос.валк (директоријум): за датотеку у датотекама: иф (тражи у филе.ловер ()): принт (роот ​​+ "\" + датотека) укупно + = 1
Непосредно пре завршетка програма, он ће на екрану исцртати линију са бројем пронађених датотека са именом Солутионтиц.
 принт ("Укупно постоји", укупно, "датотеке са", претрага) 
Сада ћу ставити неке снимке екрана извршења програма, затим извршење без параметра, односно извршиће претрагу из тренутног директоријума:

Следеће за претраживање са диска Ц у оперативном систему Виндовс:

И на крају снимање када се као параметар проследи нешто што није директоријум:

И водич је завршен, ако сте заинтересовани за даље истраживање модула, ево везе до званичне документације, на енглеском је.

Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave