Python pakub sisseehitatud operatsioonisüsteemi (OS) moodulit, mida saab kasutada OS-i failidele ja kataloogidele juurdepääsuks. Iga arvutikasutaja peab sageli kontrollima, kas fail on süsteemis olemas. Oletame näiteks, et töötate failisüsteemiga ja soovite enne sellega suuremate toimingute tegemist veenduda, et fail on saadaval. Kui proovite navigeerida või avada olematu fail, põhjustab see tõrke. See artikkel näitab, kuidas kasutada erinevaid Pythoni failide kontrollimise mehhanisme.
Faili olemasolu kontrollimiseks saab kasutada kolme erinevat Pythoni funktsiooni:
- tee.on olemas ()
- tee.isfile ()
- on olemas ()
Järgmistes osades käsitletakse neid funktsioone üksikasjalikumalt.
1. os.tee.on olemas ()
Tee.Olemasolev funktsioon () on sisseehitatud funktsioon, mille pakub os-moodul. See funktsioon võtab teefaili ja tagastab "true", kui fail on olemas. Kui faili pole, tagastab funktsioon 'false'.'Enne tee kasutamist.olemasolu (), esiteks peate importima os-mooduli.
Olgem selle näiteks.
#importing os moodulimpordi os.tee
# kasutab os-i.tee.faili olemasolu kontrollimiseks olemas ()
# määrab faili tee
print (os.tee.on olemas ("/ home / linuxhint / Documents / test.txt "))
Väljund
Selles väljundis näete, et os.tee.function () tagastab 'true', mis tähendab, et fail on määratud teekonnal.
Fail on ka kataloogis.
Muutkem nüüd ülaltoodud programmi. Tulemuse selgemaks muutmiseks muudame väljavõtte väljavõtet.
#importing os moodulimpordi os.tee
# kasutab os-i.tee.faili olemasolu kontrollimiseks olemas ()
# määrab faili tee
print ("Fail on olemas:", os.tee.on olemas ("/ home / linuxhint / Documents / test.txt "))
Väljund
Järgmisena muudame faili ja määrame selle asemel faili, mida pole olemas. Te märkate, et os.tee.Olemas () funktsioon tagastab vale."
#imprting os moodulimpordi os.tee
# kasutab os-i.tee.faili olemasolu kontrollimiseks olemas ()
# määrab faili tee
print ("Fail on olemas:", os.tee.on olemas ("/ home / linuxhint / Documents / abcfile.txt "))
Väljund
See väljund näitab, et os.tee.function () tagastab 'false', kui faili pole olemas.
2. os.tee.isfile ()
Os.tee.funktsiooni isfile () kasutatakse ka faili olemasolu kontrollimiseks. See on kõige levinum viis faili olemasolu kontrollimiseks. Os.tee.funktsioon isfile () võtab parameetrina faili tee ja kontrollib, kas antud tee sisaldab kehtivat faili. See funktsioon tagastab 'true', kui antud tee on tavaline fail, ja tagastab 'false', kui antud tee pole tavaline fail. Vaatame selle näite.
#imoprting os moodulimpordi os.tee
# kasutab os-i.tee.isfile () faili olemasolu kontrollimiseks
# määrab faili tee
print ("See on fail:", os.tee.isfile ("/ home / linuxhint / Dokumendid / test.txt "))
Väljund
Os.tee.funktsioon isfile () tagastab 'true."
Selles näites täpsustame antud teel kehtetu faili nime. Väljundis näete, et os.tee.funktsioon isfile () tagastab 'false'."
#importing os moodulimpordi os.tee
# kasutab os-i.tee.isfile () faili olemasolu kontrollimiseks
# määrab faili tee
print ("See on fail:", os.tee.isfile ("/ home / linuxhint / Documents / fileTest.txt "))
Väljund
3. pathlibPath.on olemas ()
Python 3.4 ja uuemal versioonil on pathlib moodul failisüsteemide ja radadega tegelemiseks.
Vaatame selle funktsiooni näidet:
#importing pathlib moodulimpordi raja
# failitee salvestamine muutujasse funktsiooni Path () abil
filePath = rada.Tee ("/ home / linuxhint / Documents / test.txt ")
Funktsioon #using exist () faili olemasolu kontrollimiseks
kui filePath.on olemas ():
print ("Fail on olemas")
muu:
print ("Faili pole olemas")
Väljund
Antud fail on kataloogis olemas; seetõttu tagastab olemasolev () funktsioon 'true."
Järgmisena täpsustame funktsioonis Path () vale failitee ja kontrollime väljundit.
#importing pathlib moodulimpordi raja
# failitee salvestamine muutujasse funktsiooni Path () abil
filePath = rada.Tee ("/ home / linuxhint / Documents / testabc.txt ")
Funktsioon #using exist () faili olemasolu kontrollimiseks
kui filePath.on olemas ():
print ("Fail on olemas")
muu:
print ("Faili pole olemas")
Väljund
Funktsioon Olemas () tagastab 'false' ja lause lause muu käivitatakse, kuna faili antud kataloogis ei eksisteeri.
Samamoodi saame Pythonis kataloogi olemasolu kontrollida järgmiste sisseehitatud funktsioonide abil:
os.tee.isdir ()
Os.tee.Funktsioon isdir () tagastab "true", kui määratud kataloog on olemas, ja funktsioon tagastab "false", kui kataloogi pole.
Vaatame selle näidet:
#importing os moodulimpordi os.tee
# kasutab os-i.tee.isdir () kataloogi olemasolu kontrollimiseks
# määrab dokumentide kataloogi tee
print ("See on kataloog:", os.tee.isdir ("/ home / linuxhint / Dokumendid"))
Väljund
Os.tee.funktsioon isdir () tagastab tõene, kuna kataloog on süsteemis olemas.
Nüüd täpsustame kehtetu kataloogi tee.
#importing os moodulimpordi os.tee
# kasutab os-i.tee.isdir (), et kontrollida direcoty olemasolu
# määrab kataloogi MyDocuments tee
print ("See on kataloog:", os.tee.isdir ("/ home / linuxhint / MyDocuments"))
Väljund
Järeldus
Selles artiklis oleme Pythonis failide olemasolu kontrollimise meetodeid selgitanud mitme näite kaudu. See artikkel näitas erinevaid viise faili olemasolu kontrollimiseks Pythonis. Os- ja pathlib-moodulid pakuvad sisseehitatud funktsioone, et kontrollida mis tahes faili olemasolu süsteemis. Need teadmised osutuvad kasulikuks, kuna Pythonis ja programmeerimisel juhtub sageli, et vajate faili olemasolu kontrollimist.