Python

Kontrollige, kas Pythonis on fail olemas

Kontrollige, kas Pythonis on fail olemas

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:

  1. tee.on olemas ()
  2. tee.isfile ()
  3. 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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 moodul
impordi 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.

Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...