„Python“ priklausomybė nuo išorinių failų yra esminis aspektas, todėl protinga prieš vykdant bet kokį kodą atkreipti dėmesį į bazinius/šaltinio failus. Prieš paleisdami tam tikrą programą, turite įsitikinti, kad jūsų šaltinio failai yra nurodytoje vietoje.

Kiekvienas kūrėjas supranta, kad reikia sukurti atsarginius kodus, kurie gali išgelbėti prorgramą nuo nesėkmės, jei neįvykdoma sąlyga. „Python“ yra keli būdai patikrinti, ar failas yra; čia yra geriausi metodai, kuriuos turėtumėte žinoti.

1. Išbandykite ir išskyrus teiginius

The pabandykite ir išskyrus pareiškimą patikrina komandą ir sukuria išvestį. Žemiau esančiame kode, bandyti pareiškimas bandys atidaryti failą (testfile.txt). Jei „Python“ procesorius suras failą, jis atidarys failą ir atspausdins rezultatą Failas yra atidarytas ir prieinamas naudoti.

bandyti:
f = atviras („testfile.txt“)
spausdinti („Failas yra prieinamas naudoti“)
f. uždaryti ()
išskyrus IOError:
spausdinti („Failas nepasiekiamas“)

Jei susiduria su klaida, rezultatas bus išspausdintas

instagram viewer
Failas nepasiekiamas. Kai visas kodas bus surinktas ir įvykdytas, jis uždarys atidarytą failą, jei jis buvo atidarytas.

„Python“ priklausomybė nuo išorinių failų yra esminis aspektas, todėl prieš vykdydami bet kokius kodus turite atkreipti dėmesį į pagrindinius/šaltinio failus.

Prieš vykdydami tam tikrą programą įsitikinkite, kad jūsų šaltinio failai yra tam tikroje vietoje.

2. Os.path.isfile (kelias)

„Python“ turi įmontuotą OS modulį, kurį galima paraginti sąveikauti su pagrindiniais failais, aplankais ir katalogais. „Python“ os.path.isfile () metodą galima naudoti norint patikrinti katalogą ir ar yra konkretus failas.

Pirmasis žingsnis yra importuoti įmontuotą funkciją naudojant importuoti os.path biblioteka. Kita komanda patikrina, ar failas yra konkrečioje vietoje.

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

Išėjimas grįžta Tiesa, nes failas yra konkrečioje vietoje. Jei failo nėra, „Python“ grįš Netiesa.

3. Os.path.exists (kelias)

Tuo pačiu pagrindu,. importuoti bibliotekos teiginys gali būti naudojamas patikrinti, ar katalogas yra jūsų sistemoje.

Sintaksė yra gana paprasta:

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

Kaip ir ankstesnis veiksmas, jei katalogas/aplankas yra nurodytame sistemos kelyje, „Python“ grįžta Tiesa, o vėliau, Netiesa, jei katalogas/aplankas nerastas.

Susijęs: Mokytis Python? Štai kaip nukopijuoti failą

4. Os. Kelias. Isdir (kelias)

Visai kaip os.path.isfile ir os.path.exists (), os.path.isdir () yra os bibliotekos papildoma funkcija. Vienintelis skirtumas yra tas, kad ši komanda veikia tik katalogams. Kaip tikėtasi, šios sintaksės naudojimas grąžina loginę vertę, pagrįstą katalogų egzistavimu.

Pavyzdžiui:

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

Išėjimas yra Tiesa, nes aplankas/katalogas egzistuoja nurodytu keliu.

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

Išėjimas yra Netiesa, nes aplankas/katalogas nurodytu keliu neegzistuoja.

5. Pathlib.path.exists ()

„Python 3.4“ ir naujesnės versijos siūlo Pathlib modulį, kurį galima importuoti naudojant importas funkcija. „Pathlib“ užfiksuoja būtinas funkcijas vienoje vietoje ir suteikia galimybę įvairiais būdais naudoti su kelio objektu.

Norėdami naudoti „Pathlib“:

importo kelias
failas = kelias. Kelias (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
jei failas.exists ():
spausdinti („Failas yra“)
Kitas:
spausdinti („Failas neegzistuoja“)

Atsižvelgiant į failo egzistavimą, išvestis parodys, ar failas yra nurodytame kelyje, ar ne. Idealiu atveju kodas spausdinti pareiškimas gali būti pakeistas pagal jūsų programos reikalavimus

6. Os.listdir (kelias)

The listdir metodas „Python“ grąžina visų failų sąrašą konkrečiame kataloge, kaip nurodė vartotojas. Tačiau šis metodas negrąžins jokių poaplankių failų.

The listdir metodas priima tik vieną parametrą - failo kelią. Idealiu atveju failo kelias bus failų ir aplankų pavadinimai, kuriuos norite gauti.

Pagrindinė sintaksė apima:

os.listdir (kelias)

Žemiau pateiktame pavyzdyje galite sukurti kilpą, kad galėtumėte peržiūrėti visus kataloge išvardytus failus, ir tada patikrinti, ar yra nurodytas failas, deklaruotas su jei pareiškimas.

importuoti
path = r'C: \ Users \ Wini Bhalla \ Desktop '
failai = os.listdir (kelias)
spausdinti (failai)

Šis kodas išspausdins esamame kataloge esančių failų sąrašą.

importuoti
path = r'C: \ Users \ Wini Bhalla \ Desktop 'failai = os.listdir (kelias)
f failams:
jei f == "test.txt":
spausdinti („Failas yra“)
Kitas:
spausdinti („Failas neegzistuoja“)

Toliau, kai ciklas paleidžiamas, listdir funkcija kartu su jei teiginių logika peržiūrės failų sąrašą ir išspausdins rezultatus, priklausomai nuo sąlygų, įvykdytų spausdinti pareiškimas.

Susijęs: Naudokite ciklus su sąrašais „Python“

7. „Glob“ modulis

The glob modulis atitinka visus kelių pavadinimus su nurodytais parametrais ir glaustai leidžia pasiekti failų sistemą. Kadangi „Glo“ naudojamas modelių atitikimui, galite jį naudoti norėdami patikrinti failo būseną.

Yra dvi kelio nuorodos:

  • Absoliutus kelias: Naudokite tai, kai norite ieškoti failo kitame kataloge.
  • Santykinis kelias: Naudokite tai, kai norite ieškoti failo dabartiniame kataloge.

Jei failas rastas, kodas bus grąžintas Tiesa, kitaip sugrįš Netiesa.

„Glob“ naudojimo pavyzdys:

importuoti visame pasaulyje
jei glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
spausdinti („Failas egzistuoja“)
Kitas:
spausdinti („Failas neegzistuoja“)

Šio kodo išvestis spausdins rezultatą, jei failas bus rastas.

8. Papildomas procesas

Bandymo komanda papildomo proceso modulyje yra veiksmingas būdas patikrinti failų ir katalogų egzistavimą. Bandymo komandos veikia tik „Unix“ įrenginiuose, o ne „Windows“ OS.

Pagal savo poreikius galite naudoti šias komandas:

  • testas -e: Patikrinkite kelio buvimą
  • testas -f: Patikrinkite, ar yra failas
  • testas-d: Patikrinkite aplanko buvimą

Kelio patikrinimas naudojant papildomą procesą:

iš pakopinio proceso importo vykdymo
paleisti (['test', '-e', 'testfile.txt']). returncode == 0
paleisti (['test', '-e', 'im-not-here.txt']). returncode == 0

Šis kodas vadinamas testavimo funkcija, po kurios "-e" patikrinti kelio buvimą. Funkcija rodo Netiesa už netinkamą kelią.

Failo tikrinimas naudojant papildomą procesą:

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

The "-f" funkcija patikrina failo egzistavimą ir grąžina Netiesa katalogui.

Katalogo patikrinimas naudojant papildomą procesą:

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

The "-d" funkcija patikrina katalogo egzistavimą ir grąžina Netiesa bet kokiai failo užklausai bandymo komandoje.

Kokią komandą naudosite savo failams rasti?

„Python“ yra gana paprasta naudoti kalba, ir ji siūlo daugybę galimybių galutiniams vartotojams. Norėdami patikrinti, ar yra failas (-ai), galite naudoti bet kurią iš aukščiau išvardytų procedūrų.

Tačiau jei esate pradedantysis, visada yra būdų, kaip išmokti „Python“. Kadangi „Python“ yra plati kalba, geriausia praleisti šiek tiek laiko suprasti skirtingus niuansus ir jų komandų spektrą.

Dalintis„Tweet“Paštu
Ką veikia „Python“ ir kam jis gali būti naudojamas?

„Python“ yra nepaprastai universalus, turintis įvairių programų - nuo žiniatinklio kūrimo iki duomenų analizės.

Skaityti toliau

Susijusios temos
  • Programavimas
  • Python
  • Kodavimo patarimai
Apie autorių
Wini Bhalla (Paskelbti 41 straipsniai)

Wini yra Delio rašytojas, turintis 2 metų rašymo patirtį. Rašydama ji buvo susijusi su skaitmeninės rinkodaros agentūromis ir techninėmis firmomis. Ji parašė turinį, susijusį su programavimo kalbomis, debesų technologijomis, AWS, mašinų mokymusi ir daug daugiau. Laisvalaikiu ji mėgsta piešti, leisti laiką su šeima ir, kai tik įmanoma, keliauti į kalnus.

Daugiau iš Wini Bhalla

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia