Závislosť Pythonu na externých súboroch je zásadným aspektom, preto je múdre venovať pozornosť základným/zdrojovým súborom pred spustením akéhokoľvek kódu. Pred spustením konkrétneho programu sa musíte uistiť, že vaše zdrojové súbory existujú na určenom mieste.

Každý vývojár chápe potrebu vytvoriť záložné kódy, ktoré môžu zachrániť prorgram pred zlyhaním v prípade, že nie je splnená podmienka. V Pythone existuje niekoľko spôsobov, ako skontrolovať, či súbor existuje; Tu sú najlepšie metódy, o ktorých by ste mali vedieť.

1. Výroky s výnimkou

The skúste a okrem príkazu skontroluje príkaz a vytvára výstup. V nižšie uvedenom kóde skúsiť príkaz sa pokúsi otvoriť súbor (testfile.txt). Ak je procesor Pythonu schopný súbor nájsť, súbor otvorí a vytlačí výsledok Súbor je otvorený a je k dispozícii na použitie.

skús:
f = otvorený ('testfile.txt')
vytlačiť („Súbor je k dispozícii na použitie“)
f.close ()
okrem IOError:
vytlačiť („Súbor nie je prístupný“)

Ak narazí na chybu, vytlačí výsledok Súbor nie je prístupný

instagram viewer
. Akonáhle je celý kód skompilovaný a spustený, zatvorí otvorený súbor, ak bol otvorený.

Závislosť Pythonu na externých súboroch je zásadným aspektom a pred spustením akýchkoľvek kódov si musíte dať pozor na základné/zdrojové súbory.

Pred spustením konkrétneho programu sa uistite, že vaše zdrojové súbory existujú na konkrétnom mieste.

2. Súbor Os.path.isfile (cesta)

Python má vstavaný modul OS, ktorý je možné použiť na interakciu so základnými súbormi, priečinkami a adresármi. Python's os.path.isfile () Túto metódu je možné použiť na kontrolu adresára a ak existuje konkrétny súbor.

Prvým krokom je import vstavanej funkcie pomocou súboru import os.path knižnica. Nasledujúci príkaz skontroluje, či súbor existuje na konkrétnom mieste.

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

Výstup sa vráti Pravda, pretože súbor existuje na konkrétnom mieste. Ak súbor neexistuje, Python sa vráti Falošné.

3. Os.path.exists (cesta)

Z podobných dôvodov, import os príkaz z knižnice je možné použiť na kontrolu, či adresár vo vašom systéme existuje.

Syntax je pomerne jednoduchá:

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

Rovnako ako v predchádzajúcom kroku, ak sa adresár/priečinok nachádza na zadanej systémovej ceste, Python sa vráti Pravda, a následne, Falošné, ak sa priečinok/priečinok nenájde.

Súvisiace: Učíš sa Python? Tu je postup, ako skopírovať súbor

4. Os. Cesta. Isdir (cesta)

Rovnako ako os.path.isfile a os.path.exists (), os.path.isdir () je podfunkciou knižnice os. Jediným rozdielom je, že tento príkaz funguje iba pre adresáre. Ako sa očakávalo, použitie tejto syntaxe vráti logickú hodnotu na základe existencie adresárov.

Napríklad:

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

Výstup je Pravda, pretože priečinok/adresár existuje na zadanej ceste.

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

Výstup je Falošné, pretože priečinok/adresár na zadanej ceste neexistuje.

5. Pathlib.path.exists ()

Verzie Python 3.4 a vyššie ponúkajú Pathlib modul, ktorý je možné importovať pomocou súboru import funkciu. Pathlib zachytáva potrebné funkcie na jednom mieste a sprístupňuje ho rôznymi spôsobmi na použitie s objektom cesta.

Ak chcete použiť Pathlib:

importovať cestu
súbor = pathlib. Cesta (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
ak file.exists ():
vytlačiť („Súbor existuje“)
inak:
vytlačiť („Súbor neexistuje“)

Podľa existencie súboru výstup zobrazí, či súbor existuje alebo nie je na zadanej ceste. V ideálnom prípade je kód v vytlačiť vyhlásenie je možné zmeniť podľa požiadaviek vášho programu

6. Os.listdir (cesta)

The listdir metóda v Pythone vráti zoznam všetkých súborov v konkrétnom adresári podľa zadania používateľom. Táto metóda však nevráti žiadne súbory existujúce v podpriečinkoch.

The listdir metóda akceptuje iba jeden parameter, cestu k súboru. V ideálnom prípade bude cestou k súboru názov súboru alebo priečinka, ktorý chcete obnoviť.

Základná syntax obsahuje:

os.listdir (cesta)

V nižšie uvedenom príklade môžete vytvoriť slučku, ktorá prejde všetkými súbormi uvedenými v adresári, a potom skontrolujete existenciu určeného súboru deklarovaného pomocou príkazu keby vyhlásenie.

import os
cesta = r'C: \ Users \ Wini Bhalla \ Desktop '
files = os.listdir (cesta)
tlač (súbory)

Tento kód vytlačí zoznam súborov dostupných v aktuálnom adresári.

import os
cesta = r'C: \ Users \ Wini Bhalla \ Desktop 'súbory = os.listdir (cesta)
pre f v súboroch:
ak f == "test.txt":
vytlačiť („Súbor existuje“)
inak:
vytlačiť („Súbor neexistuje“)

Ďalej, keď je slučka spustená, listdir fungovať spolu s keby logika príkazov bude cyklicky prechádzať zoznamom súborov a tlačiť výsledky v závislosti od podmienok odovzdaných v rámci vytlačiť vyhlásenie.

Súvisiace: Používajte slučky so zoznamami v Pythone

7. Modul Glob

The glob modul spája všetky názvy ciest so zadanými parametrami a stručne vám umožňuje prístup k systému súborov. Pretože glob sa používa na porovnávanie vzorov, môžete ho použiť na kontrolu stavu súboru.

Existujú dva odkazy na cestu:

  • Absolútna cesta: Túto možnosť použite, ak chcete hľadať súbor v inom adresári.
  • Relatívna cesta: Použite to, keď chcete vyhľadať súbor v aktuálnom adresári.

Ak sa súbor nájde, kód sa vráti Pravda, inak sa to vráti Falošné.

Príklad použitia Globu:

import glob
if glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
vytlačiť („Súbor existuje“)
inak:
vytlačiť („Súbor neexistuje“)

Výstup z tohto kódu vytlačí výsledok, ak sa súbor nájde.

8. Subproces

Testovací príkaz v subprocesovom module je účinný spôsob testovania existencie súborov a adresárov. Testovacie príkazy fungujú iba na počítačoch s operačným systémom Unix a nie na počítačoch s operačným systémom Windows.

Podľa svojich potrieb môžete použiť nasledujúce príkazy:

  • test -e: Skontrolujte existenciu cesty
  • test -f: Skontrolujte existenciu súboru
  • test-d: Skontrolujte existenciu priečinka

Overenie cesty pomocou čiastkového postupu:

z importu podprocesu
spustiť (['test', '-e', 'testfile.txt']). returncode == 0
spustiť (['test', '-e', 'im-not-here.txt']). returncode == 0

Tento kód nazval testovaciu funkciu a potom '-e' na overenie existencie cesty. Funkcia ukazuje Falošné pre neplatnú cestu.

Overenie súboru pomocou podprocesu:

spustiť (['test', '-f', 'testfile.txt']). returncode == 0
spustite (['test', '-f', 'testdirectory']). návratový kód == 0

The '-f' funkcia testuje existenciu súboru a vracia sa Falošné pre adresár.

Overenie adresára pomocou podprocesu:

spustiť (['test', '-d', 'testfile.txt']). returncode == 0
spustite (['test', '-d', 'testdirectory']). návratový kód == 0

The '-d' funkcia testuje existenciu adresára a vracia sa Falošné pre ľubovoľný súborový dotaz v testovacom príkaze.

Aký príkaz použijete na lokalizáciu svojich súborov?

Python je relatívne ľahko použiteľný jazyk a koncovým používateľom ponúka veľa možností. Na kontrolu existencie súborov môžete použiť ktorýkoľvek z vyššie uvedených postupov.

Ak ste však začiatočník, vždy existujú spôsoby, ako sa naučiť Python. Pretože Python je rozsiahly jazyk, je najlepšie stráviť nejaký čas porozumením rôznych nuancií a rozsahu príkazov.

zdieľamTweetE -mail
Čo robí Python a na čo sa dá použiť?

Python je mimoriadne univerzálny a ponúka aplikácie od webového vývoja až po analýzu údajov.

Čítajte ďalej

Súvisiace témy
  • Programovanie
  • Python
  • Tipy na kódovanie
O autorovi
Wini Bhalla (41 publikovaných článkov)

Wini je spisovateľka z Dillí a má 2 roky písomnej praxe. Počas písania bola spájaná s digitálnymi marketingovými agentúrami a technickými firmami. Napísala obsah súvisiaci s programovacími jazykmi, cloudovou technológiou, AWS, strojovým učením a mnohými ďalšími. Vo svojom voľnom čase rada maľuje, trávi čas so svojou rodinou a cestuje do hôr, kedykoľvek je to možné.

Viac od Winiho Bhallu

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber