Питхон

Проверите да ли датотека постоји у Питхону

Проверите да ли датотека постоји у Питхону

Питхон пружа уграђени модул оперативног система (ОС) који се може користити за приступ ОС датотекама и директоријумима. Било који корисник рачунара често нађе потребу да провери да ли датотека постоји у систему. На пример, претпоставимо да радите на систему датотека и желите да се уверите да је датотека доступна пре извођења било каквих главних операција на њој. Ако покушате да се крећете или отворите непостојећу датотеку, то би могло довести до грешке. Овај чланак вам показује како да користите разне Питхон механизме за проверу датотека.

Постоје три различите Питхон функције које се могу користити за потврду постојања датотеке:

  1. пут.постоји()
  2. пут.исфиле ()
  3. постоји()

Следећи одељци детаљније разматрају ове функције.

1. ос.пут.постоји()

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

Дајмо пример за то.

#импортинг ос модуле
импорт ос.пут
# користећи ос.пут.постоји () да провери постојање датотеке
# одређивање путање датотеке
испис (ос.пут.постоји ("/ хоме / линукхинт / Доцументс / тест.ткт "))

Оутпут
У овом излазу можете видети да је ос.пут.постоји () функција враћа 'труе', што значи да је датотека присутна у наведеној путањи.

Датотека је такође присутна у директоријуму.

Изменимо сада горе наведени програм. Измену исписа ћемо променити како бисмо резултат учинили јаснијим.

#импортинг ос модуле
импорт ос.пут
# користећи ос.пут.постоји () да провери постојање датотеке
# специфицира путању датотеке
принт ("Датотека постоји:", ос.пут.постоји ("/ хоме / линукхинт / Доцументс / тест.ткт "))

Оутпут

Даље ћемо променити датотеку и уместо ње одредити датотеку која не постоји. Приметићете да је ос.пут.постоји () функција ће вратити 'фалсе.'

#импртинг ос модуле
импорт ос.пут
# користећи ос.пут.постоји () да провери постојање датотеке
# одређивање путање датотеке
принт ("Датотека постоји:", ос.пут.постоји ("/ хоме / линукхинт / Доцументс / абцфиле.ткт "))

Оутпут
Овај излаз показује да је ос.пут.постоји () функција враћа 'фалсе' када датотека не постоји.

2. ос.пут.исфиле ()

Тхе ос.пут.исфиле () функција се такође користи за проверу постојања датотеке. Ово је најчешћи начин провере постојања датотеке. Тхе ос.пут.функција исфиле () узима путању датотеке као параметар и проверава да ли дата путања садржи важећу датотеку. Ова функција враћа 'труе' када је задата путања редовна датотека и враћа 'фалсе' ако дата путања није редовна датотека. Да видимо пример за то.

#имопртинг ос модуле
импорт ос.пут
# користећи ос.пут.исфиле () да провери постојање датотеке
# одређивање путање датотеке
принт ("Ово је датотека:", ос.пут.исфиле ("/ хоме / линукхинт / Доцументс / тест.ткт "))

Оутпут
Тхе ос.пут.функција исфиле () враћа 'труе.'

У овом примеру ћемо одредити име неважеће датотеке у датој путањи. У излазу ћете видети да је ос.пут.функција исфиле () враћа 'фалсе.'

#импортинг ос модуле
импорт ос.пут
# користећи ос.пут.исфиле () да провери постојање датотеке
# одређивање путање датотеке
принт ("Ово је датотека:", ос.пут.исфиле ("/ хоме / линукхинт / Доцументс / филеТест.ткт "))

Оутпут

3. патхлибПатх.постоји()

Питхон 3.Верзије 4 и новије имају модул патхлиб који се бави системима датотека и путањама.

Погледајмо пример ове функције:

#импортинг патхлиб модуле
импорт патхлиб
#сторинг филе патх у променљивој помоћу функције Патх ()
филеПатх = патхлиб.Путања ("/ хоме / линукхинт / Доцументс / тест.ткт ")
Функција #усинг екистинг () проверава да ли датотека постоји
ако филеПатх.постоји():
принт ("Датотека постоји")
иначе:
принт ("Датотека не постоји")

Оутпут
Датотека постоји у директоријуму; према томе, функција екистинг () враћа 'труе.'

Даље ћемо одредити неважећу путању датотеке у функцији Патх () и проверити излаз.

#импортинг патхлиб модуле
импорт патхлиб
#сторинг филе патх у променљивој помоћу функције Патх ()
филеПатх = патхлиб.Путања ("/ хоме / линукхинт / Доцументс / тестабц.ткт ")
Функција #усинг постоји () да провери да ли датотека постоји
ако филеПатх.постоји():
принт ("Датотека постоји")
иначе:
принт ("Датотека не постоји")

Оутпут
Функција существу () враћа 'фалсе', а наредба елсе се извршава јер датотека не постоји у датом директоријуму.

Слично томе, можемо да потврдимо постојање директоријума у ​​Питхону користећи следеће уграђене функције:

ос.пут.исдир ()

Тхе ос.пут.функција исдир () враћа 'труе' ако наведени директориј постоји, а функција враћа 'фалсе' ако директориј не постоји.

Погледајмо пример овога:

#импортинг ос модуле
импорт ос.пут
# користећи ос.пут.исдир () да провери постојање директоријума
# одређивање путање директоријума докумената
принт ("Ово је директоријум:", ос.пут.исдир ("/ хоме / линукхинт / Доцументс"))

Оутпут
Тхе ос.пут.функција исдир () враћа труе јер директоријум постоји у систему.

Сада одредимо путању неисправног директоријума.

#импортинг ос модуле
импорт ос.пут
# користећи ос.пут.исдир () да провери постојање дирецоти
# специфицирајући путању директоријума МиДоцументс
принт ("Ово је директоријум:", ос.пут.исдир ("/ хоме / линукхинт / МиДоцументс"))

Оутпут

Закључак

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

ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...
Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...
СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...