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

Сваки програмер разуме потребу за креирањем резервних кодова, који могу да сачувају програм од пада у случају да услов није испуњен. У Питхону постоји неколико начина да проверите да ли датотека постоји; ево најбољих метода о којима бисте требали знати.

1. Покушајте и осим изјава

Тхе три и екцепт наредба проверава наредбу и производи излаз. У доњем коду, покушати изјава ће покушати да отвори датотеку (тестфиле.ткт). Ако Питхонов процесор може да лоцира датотеку, отвориће је и одштампати резултат Датотека је отворена и доступна за употребу.

покушати:
ф = отворен ('тестфиле.ткт')
принт ("Датотека је доступна за употребу")
ф.цлосе ()
осим ИОЕррор:
принт ('Датотека није доступна')

Ако наиђе на грешку, исписаће резултат Датотека није доступна. Када се комплетан код састави и изврши, затворит ће отворену датотеку ако је отворена.

instagram viewer

Зависност Питхона од спољних датотека кључан је аспект и морате обратити пажњу на основне/изворне датотеке пре него што извршите било који код.

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

2. Ос.патх.исфиле (пут)

Питхон има уграђени ОС модула који се може позвати на интеракцију са датотекама, фасциклама и директоријумима који се налазе у основи. Питхон'с ос.патх.исфиле () метод се може користити за проверу директоријума и ако постоји одређена датотека.

Први корак је увоз уграђене функције помоћу импорт ос.патх библиотека. Следећа команда проверава да ли датотека постоји на одређеној локацији.

импорт ос.патх
ос.патх.исфиле (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ Питхон тест филе.ткт")

Излаз се враћа Истина, јер датотека постоји на одређеној локацији. Ако датотека не постоји, Питхон ће се вратити Нетачно.

3. Ос.патх.екистс (патх)

На сличним основама, импорт ос Изјава о библиотеци се може користити за проверу да ли директоријум постоји на вашем систему.

Синтакса је прилично једноставна:

Увоз ос.патх
ос.патх.екистс (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ тест")

Баш као и претходни корак, ако се директоријум/фасцикла налази на наведеној системској путањи, Питхон се враћа Истина, а касније, Нетачно, ако директоријум/фасцикла није пронађен.

Повезан: Учење Питхона? Ево како да копирате датотеку

4. Ос. Патх. Исдир (пут)

Баш као ос.патх.исфиле и ос.патх.екистс (), ос.патх.исдир () је подфункција ос библиотеке. Једина разлика овде је што ова команда ради само за директоријуме. Очекивано, употреба ове синтаксе враћа логичку вредност засновану на постојању директоријума.

На пример:

импорт ос
ос.патх.исдир (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ ОС")

Излаз је Истина, пошто фасцикла/директоријум постоји на наведеној путањи.

импорт ос
ос.патх.исдир (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ тестдирецтори")

Излаз је Нетачно, пошто фасцикла/директоријум не постоји на наведеној путањи.

5. Патхлиб.патх.екистс ()

Питхон 3.4 и новије верзије нуде Патхлиб модул, који се може увести помоћу увоз функција. Патхлиб хвата неопходне функционалности на једном месту и чини га доступним кроз различите методе за коришћење са објектом путање.

Да бисте користили Патхлиб:

импорт патхлиб
филе = патхлиб. Путања (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ Питхон тест филе.ткт")
иф филе.екистс ():
принт ("Датотека постоји")
друго:
принт ("Датотека не постоји")

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

6. Ос.листдир (путања)

Тхе листдир метход у Питхону враћа листу свих датотека у одређеном директоријуму, како је навео корисник. Међутим, овај метод неће вратити датотеке које постоје у подмапама.

Тхе листдир метода прихвата само један параметар, путању датотеке. У идеалном случају, путања датотеке ће бити имена датотека и фасцикли које желите да преузмете.

Основна синтакса укључује:

ос.листдир (путања)

У доњем примеру можете креирати петљу да бисте прошли кроз све датотеке наведене у директоријуму, а затим проверите да ли постоји наведена датотека декларисана са ако изјава.

импорт ос
патх = р'Ц: \ Усерс \ Вини Бхалла \ Десктоп '
датотеке = ос.листдир (путања)
штампа (датотеке)

Овај код ће одштампати листу датотека доступних у тренутном директоријуму.

импорт ос
патх = р'Ц: \ Усерс \ Вини Бхалла \ Десктоп 'филес = ос.листдир (патх)
за ф у датотекама:
ако је ф == "тест.ткт":
принт ("Датотека постоји")
друго:
принт ("Датотека не постоји")

Даље, када се петља покрене, листдир функцију заједно са ако логика наредбе ће се кретати кроз листу датотека и одштампати резултате, у зависности од услова проведених у принт изјава.

Повезан: Користите петље са списковима у Питхону

7. Глоб Модул

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

Постоје две референце пута:

  • Апсолутни пут: Користите ово када желите да тражите датотеку у другом директоријуму.
  • Релативна путања: Користите ово када желите да тражите датотеку у тренутном директоријуму.

Ако се датотека пронађе, код ће се вратити Истина, у супротном ће се вратити Нетачно.

Пример употребе Глоба:

импорт глоб
иф глоб.глоб (р "Ц: \ Усерс \ Вини Бхалла \ Десктоп \ тест.ткт"):
принт ("Датотека постоји")
друго:
принт ("Датотека не постоји")

Излаз из овог кода одштампаће резултат, ако се датотека пронађе.

8. Подпроцес

Наредба теста у модулу потпроцеса је ефикасан начин провере постојања датотека и директоријума. Команде за тестирање функционишу само на Уник машинама, а не и на Виндовс машинама са ОС -ом.

Према вашим потребама можете користити следеће команде:

  • тест -е: Проверите постојање путање
  • тест -ф: Проверите постојање датотеке
  • тест-д: Проверите постојање фасцикле

Провера путање са потпроцесом:

из покретања увоза потпроцеса
рун (['тест', '-е', 'тестфиле.ткт']). ретурнцоде == 0
рун (['тест', '-е', 'им-нот-хере.ткт']). ретурнцоде == 0

Овај код се назива тест функција коју прати '-е' да провери постојање путање. Функција приказује Нетачно за неважећу путању.

Провера датотеке помоћу потпроцеса:

рун (['тест', '-ф', 'тестфиле.ткт']). ретурнцоде == 0
рун (['тест', '-ф', 'тестдирецтори']). ретурнцоде == 0

Тхе '-ф' функција тестира постојање датотеке и враћа Нетачно за именик.

Провера директоријума помоћу потпроцеса:

рун (['тест', '-д', 'тестфиле.ткт']). ретурнцоде == 0
рун (['тест', '-д', 'тестдирецтори']). ретурнцоде == 0

Тхе '-д' функција тестира постојање директоријума и враћа Нетачно за било који упит датотеке у команди тест.

Коју команду ћете користити за лоцирање датотека?

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

Међутим, ако сте почетник, увек постоје начини да научите Питхон. Пошто је Питхон огроман језик, најбоље је провести неко време у разумевању различитих нијанси и распона наредби.

ОбјавиТвеетЕмаил
Шта Питхон ради и за шта се може користити?

Питхон је изузетно свестран, са апликацијама у распону од веб развоја до анализе података.

Прочитајте следеће

Повезане теме
  • Програмирање
  • Питхон
  • Савети за кодирање
О аутору
Вини Бхалла (Објављен 41 чланак)

Вини је писац из Делхија, са 2 године искуства у писању. Током писања била је повезана са агенцијама за дигитални маркетинг и техничким фирмама. Написала је садржај везан за програмске језике, цлоуд технологију, АВС, машинско учење и још много тога. У слободно време воли да слика, проводи време са породицом и путује у планине, кад год је то могуће.

Више од Вини Бхалла

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили