Pythoni sõltuvus välistest failidest on ülioluline aspekt, enne koodi käivitamist on mõistlik pöörata tähelepanu baas-/lähtefailidele. Enne konkreetse programmi käivitamist peate veenduma, et teie lähtefailid on määratud kohas olemas.

Iga arendaja mõistab vajadust luua varukoode, mis võivad säästa prorgrammi ebaõnnestumisest, kui mõni tingimus ei ole täidetud. Pythonis on faili olemasolu kontrollimiseks mitmeid viise; siin on peamised meetodid, mida peaksite teadma.

1. Proovige ja välja arvatud avaldused

The proovige ja välja arvatud avaldus kontrollib käsku ja toodab väljundit. Allolevas koodis on proovige avaldus üritab faili avada (testfile.txt). Kui Pythoni protsessor suudab faili leida, avab see faili ja prindib tulemuse Fail on avatud ja kasutamiseks saadaval.

proovige:
f = avatud ('testfile.txt')
print ("Fail on kasutamiseks saadaval")
f. sulge ()
välja arvatud IOError:
print ("Fail pole juurdepääsetav")

Kui ilmneb tõrge, prindib see tulemuse Fail ei ole juurdepääsetav. Kui täielik kood on koostatud ja käivitatud, sulgeb see avatud faili, kui see avati.

Pythoni sõltuvus välistest failidest on ülioluline aspekt ning enne koodide täitmist peate arvestama baas-/lähtefailidega.

Enne konkreetse programmi käivitamist veenduge, et teie lähtefailid oleksid kindlas kohas.

2. Os.path.isfile (tee)

Pythonil on sisseehitatud moodul OS, mida saab kutsuda suhtlema aluseks olevate failide, kaustade ja kataloogidega. Pythoni oma os.path.isfile () meetodit saab kasutada kataloogi kontrollimiseks ja konkreetse faili olemasolu korral.

Esimene samm on sisseehitatud funktsiooni importimine, kasutades import os.path raamatukogu. Järgmine käsk kontrollib, kas fail on konkreetses kohas olemas.

import os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")

Väljund naaseb Tõsi, kuna fail on konkreetses kohas olemas. Kui faili pole, naaseb Python Vale.

3. Os.path.exists (tee)

Sarnastel põhjustel import os raamatukogu avaldust saab kasutada, et kontrollida, kas kataloog on teie süsteemis olemas.

Süntaks on üsna lihtne:

Importige os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

Nii nagu eelmine samm, tagastab Python ka kataloogi/kausta määratud süsteemiteel Tõsija hiljem, Vale, kui kataloogi/kausta ei leita.

Seotud: Pythoni õppimine? Siin on, kuidas faili kopeerida

4. Os. Tee. Isdir (tee)

Just nagu os.path.isfile ja os.path.exists (), os.path.isdir () on os-teegi alamfunktsioon. Ainus erinevus on see, et see käsk töötab ainult kataloogide puhul. Nagu oodatud, tagastab selle süntaksi kasutamine kataloogide olemasolul põhineva tõeväärtuse.

Näiteks:

import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

Väljund on Tõsi, kuna kaust/kataloog on määratud teel olemas.

import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

Väljund on Vale, kuna kausta/kataloogi pole määratud teel.

5. Pathlib.path.exists ()

Python 3.4 ja uuemad versioonid pakuvad Pathlib moodul, mida saab importida import funktsiooni. Pathlib salvestab vajalikud funktsioonid ühte kohta ja teeb selle erinevate objektimeetoditega kasutamiseks kättesaadavaks.

Pathlibi kasutamiseks:

impordi teejuht
fail = pathlib. Tee (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
kui fail.exists ():
print ("Fail on olemas")
muidu:
print ("Faili pole olemas")

Faili olemasolu korral kuvatakse väljundis, kas fail on määratud teel olemas või mitte. Ideaalis on kood printida avaldust saab muuta vastavalt teie programmi nõuetele

6. Os.listdir (tee)

The listdir meetod Pythonis tagastab kasutaja määratud kataloogi kõigi failide loendi. See meetod ei tagasta aga alamkaustades olemasolevaid faile.

The listdir meetod aktsepteerib ainult ühte parameetrit, faili teed. Ideaalis on failitee failide ja kaustade nimed, mida soovite alla laadida.

Põhisüntaks sisaldab järgmist:

os.listdir (tee)

Allolevas näites saate luua ahela kõigi kataloogis loetletud failide läbimiseks ja seejärel kontrollida, kas määratud faili olemasolu on kui avaldus.

import os
path = r'C: \ Users \ Wini Bhalla \ Desktop '
failid = os.listdir (tee)
printimine (failid)

See kood prindib välja praeguses kataloogis saadaolevate failide loendi.

import os
path = r'C: \ Users \ Wini Bhalla \ Desktop 'failid = os.listdir (tee)
f jaoks failides:
kui f == "test.txt":
print ("Fail on olemas")
muidu:
print ("Faili pole olemas")

Edasi, kui tsükkel käivitatakse, listdir funktsioneerida koos kui avaldusloogika vaatab failide loendi läbi ja prindib tulemused välja, sõltuvalt tingimustes läbitud tingimustest printida avaldus.

Seotud: Kasutage Pythonis loenditega silmuseid

7. Globi moodul

The glo moodul sobitab kõik parameetritega tee nimed ja võimaldab lühidalt failisüsteemile juurde pääseda. Kuna globi kasutatakse mustrite sobitamiseks, saate seda kasutada faili oleku kontrollimiseks.

Teel on kaks viidet:

  • Absoluutne tee: Kasutage seda, kui soovite faili otsida teisest kataloogist.
  • Suhteline tee: Kasutage seda, kui soovite otsida faili praegusest kataloogist.

Kui fail leitakse, naaseb kood Tõsi, muidu tuleb tagasi Vale.

Näide Globi kasutamisest:

import globaalselt
kui glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Fail on olemas")
muidu:
print ("Faili pole olemas")

Selle koodi väljund prindib tulemuse, kui fail on leitud.

8. Alamprotsess

Testkäsk alamprotsessi moodulis on tõhus viis failide ja kataloogide olemasolu testimiseks. Testkäsklused töötavad ainult Unix -põhistes masinates, mitte Windowsi -põhistes OS -i masinates.

Vastavalt oma vajadustele saate kasutada järgmisi käske:

  • test -e: Kontrollige tee olemasolu
  • test -f: Kontrollige faili olemasolu
  • test-d: Kontrollige kausta olemasolu

Tee kontrollimine alamprotsessiga:

alamprotsessi importkäigult
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0

Seda koodi kutsuti testfunktsiooniks, millele järgnes '' e '' tee olemasolu kontrollimiseks. Funktsioon näitab Vale kehtetu tee eest.

Faili kontrollimine alamprotsessiga:

run (['test', '-f', 'testfile.txt']). returncode == 0
run (['test', '-f', 'testdirectory']). returncode == 0

The "-f" funktsioon kontrollib faili olemasolu ja tagastab Vale kataloogi jaoks.

Kataloogi kontrollimine alamprotsessiga:

run (['test', '-d', 'testfile.txt']). returncode == 0
run (['test', '-d', 'testdirectory']). returncode == 0

The "-d" funktsioon kontrollib kataloogi olemasolu ja tagastab Vale mis tahes failipäringu jaoks testkäskluses.

Millist käsku kasutate oma failide leidmiseks?

Python on suhteliselt hõlpsasti kasutatav keel ja pakub lõppkasutajatele palju võimalusi. Faili (de) olemasolu kontrollimiseks võite kasutada mõnda ülaltoodud protseduuri.

Kui olete aga algaja, on Pythoni õppimiseks alati võimalusi. Kuna Python on lai keel, on parem kulutada aega erinevate nüansside ja selle käskude mõistmisele.

JagaPiiksumaE -post
Mida Python teeb ja milleks seda kasutada?

Python on äärmiselt mitmekülgne, rakendused ulatuvad veebiarendusest andmete analüüsini.

Loe edasi

Seotud teemad
  • Programmeerimine
  • Python
  • Näpunäiteid kodeerimiseks
Autori kohta
Wini Bhalla (41 artiklit avaldatud)

Wini on Delhis elav kirjanik, kellel on 2 -aastane kirjutamiskogemus. Kirjutamise ajal on ta olnud seotud digitaalturunduse agentuuride ja tehniliste ettevõtetega. Ta on kirjutanud programmeerimiskeelte, pilvetehnoloogia, AWS -i, masinõppe ja palju muud. Vabal ajal meeldib talle maalida, perega aega veeta ja igal võimalusel mägedesse reisida.

Veel Wini Bhallast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin