Závislost Pythonu na externích souborech je zásadním aspektem, je moudré věnovat pozornost základním/zdrojovým souborům před spuštěním jakéhokoli kódu. Před spuštěním konkrétního programu musíte zajistit, aby vaše zdrojové soubory existovaly na zadaném místě.

Každý vývojář chápe potřebu vytvořit záložní kódy, které mohou zachránit prorgram před selháním v případě, že není splněna podmínka. V Pythonu existuje několik způsobů, jak zkontrolovat, zda soubor existuje; zde jsou nejlepší metody, o kterých byste měli vědět.

1. Výroky s výjimkou

The zkuste a kromě příkazu zkontroluje příkaz a produkuje výstup. V níže uvedeném kódu Snaž se příkaz se pokusí otevřít soubor (testfile.txt). Pokud je procesor Pythonu schopen soubor najít, soubor otevře a vytiskne výsledek Soubor je otevřený a je k dispozici k použití.

Snaž se:
f = otevřeno ('testfile.txt')
tisk („Soubor je k dispozici k použití“)
f.close ()
kromě IOError:
tisk ('Soubor není přístupný')

Pokud narazí na chybu, vytiskne výsledek Soubor není přístupný. Jakmile je celý kód zkompilován a spuštěn, zavře otevřený soubor, pokud byl otevřen.

instagram viewer

Závislost Pythonu na externích souborech je zásadním aspektem a před spuštěním jakýchkoli kódů musíte věnovat pozornost základním/zdrojovým souborům.

Před spuštěním konkrétního programu se ujistěte, že vaše zdrojové soubory existují na konkrétním místě.

2. Soubor os.path.isfile (cesta)

Python má vestavěný modul OS, který lze použít k interakci se základními soubory, složkami a adresáři. Python os.path.isfile () metodu lze použít ke kontrole adresáře a pokud existuje konkrétní soubor.

Prvním krokem je import vestavěné funkce pomocí import os.path knihovna. Další příkaz zkontroluje, zda soubor v konkrétním umístění existuje.

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

Výstup se vrátí Skutečný, protože soubor existuje na konkrétním místě. Pokud soubor neexistuje, Python se vrátí Nepravdivé.

3. Os.path.exists (cesta)

Z podobných důvodů se import os příkaz knihovny lze použít ke kontrole, zda adresář ve vašem systému existuje.

Syntaxe je poměrně jednoduchá:

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

Stejně jako v předchozím kroku, pokud se adresář/složka nachází na zadané systémové cestě, Python se vrátí Skutečný, a následně, Nepravdivé, pokud adresář/složka není nalezena.

Příbuzný: Učit se Python? Zde je návod, jak zkopírovat soubor

4. Os. Cesta. Isdir (cesta)

Stejně jako soubor os.path.isfile a os.path.exists (), os.path.isdir () je dílčí funkcí knihovny os. Jediným rozdílem je, že tento příkaz funguje pouze pro adresáře. Jak se dalo očekávat, použití této syntaxe vrátí logickou hodnotu na základě existence adresářů.

Například:

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

Výstup je Skutečný, protože složka/adresář existuje na zadané cestě.

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

Výstup je Nepravdivé, protože složka/adresář na zadané cestě neexistuje.

5. Pathlib.path.exists ()

Verze Pythonu 3.4 a výše nabízejí Pathlib modul, který lze importovat pomocí import funkce. Pathlib zachycuje potřebné funkce na jednom místě a zpřístupňuje ho různými metodami, které lze použít s objektem cesty.

Chcete -li použít Pathlib:

importovat pathlib
soubor = pathlib. Cesta (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
pokud file.exists ():
tisk („Soubor existuje“)
jiný:
tisk („Soubor neexistuje“)

Podle existence souboru výstup zobrazí, zda soubor na zadané cestě existuje nebo ne. V ideálním případě je kód v tisk prohlášení lze změnit podle požadavků vašeho programu

6. Os.listdir (cesta)

The listdir metoda v Pythonu vrací seznam všech souborů v konkrétním adresáři podle zadání uživatele. Tato metoda však nevrátí žádné soubory existující v podsložkách.

The listdir metoda přijímá pouze jeden parametr, cestu k souboru. V ideálním případě bude cestou k souboru názvy souborů a složek, které chcete načíst.

Základní syntaxe zahrnuje:

os.listdir (cesta)

V níže uvedeném příkladu můžete vytvořit smyčku procházející všemi soubory uvedenými v adresáři a poté zkontrolovat existenci zadaného souboru deklarovaného pomocí -li tvrzení.

import os
cesta = r'C: \ Users \ Wini Bhalla \ Desktop '
files = os.listdir (cesta)
tisk (soubory)

Tento kód vytiskne seznam souborů dostupných v aktuálním adresáři.

import os
cesta = r'C: \ Users \ Wini Bhalla \ Desktop 'soubory = os.listdir (cesta)
pro f v souborech:
pokud f == "test.txt":
tisk („Soubor existuje“)
jiný:
tisk („Soubor neexistuje“)

Dále, když je smyčka spuštěna, listdir fungovat společně s -li logika příkazů bude procházet seznamem souborů a tisknout výsledky v závislosti na podmínkách předaných v rámci tisk tvrzení.

Příbuzný: Použijte smyčky se seznamy v Pythonu

7. Modul Glob

The glob modul odpovídá všem názvům cest se zadanými parametry a stručně vám umožňuje přístup k systému souborů. Vzhledem k tomu, že glob se používá pro párování vzorů, můžete jej použít ke kontrole stavu souboru.

Na cestu existují dva odkazy:

  • Absolutní cesta: Tuto možnost použijte, pokud chcete vyhledat soubor v jiném adresáři.
  • Relativní cesta: Použijte to, když chcete vyhledat soubor v aktuálním adresáři.

Pokud je soubor nalezen, kód se vrátí Skutečný, jinak se vrátí Nepravdivé.

Příklad použití Glob:

import glob
if glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
tisk ("Soubor existuje")
jiný:
tisk („Soubor neexistuje“)

Výstup z tohoto kódu vytiskne výsledek, pokud je soubor nalezen.

8. Dílčí proces

Testovací příkaz v modulu podprocesu je efektivní způsob testování existence souborů a adresářů. Testovací příkazy fungují pouze na počítačích se systémem Unix, nikoli na počítačích s operačním systémem Windows.

Podle svých potřeb můžete použít následující příkazy:

  • test -e: Zkontrolujte existenci cesty
  • test -f: Zkontrolujte existenci souboru
  • test-d: Zkontrolujte existenci složky

Ověření cesty pomocí dílčího procesu:

z běhu importu podprocesu
spustit (['test', '-e', 'testfile.txt']). returncode == 0
spustit (['test', '-e', 'im-not-here.txt']). returncode == 0

Tento kód se nazývá testovací funkce a následně '-E' ověřit existenci cesty. Funkce ukazuje Nepravdivé pro neplatnou cestu.

Ověření souboru pomocí podprocesu:

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

The '-F' funkce testuje existenci souboru a vrací Nepravdivé pro adresář.

Ověření adresáře pomocí podprocesu:

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

The '-d' funkce testuje existenci adresáře a vrací se Nepravdivé pro jakýkoli souborový dotaz v testovacím příkazu.

Který příkaz použijete k vyhledání souborů?

Python je relativně snadno použitelný jazyk a koncovým uživatelům nabízí mnoho možností. K ověření existence souboru (souborů) můžete použít některý z výše uvedených postupů.

Pokud jste však začátečník, vždy existují způsoby, jak se naučit Python. Protože je Python rozsáhlý jazyk, je nejlepší strávit nějaký čas porozuměním různým nuancím a rozsahu jeho příkazů.

PodíltweetE-mailem
Co dělá Python a k čemu ho lze použít?

Python je extrémně univerzální, s aplikacemi od webového vývoje až po analýzu dat.

Číst dále

Související témata
  • Programování
  • Krajta
  • Tipy pro kódování
O autorovi
Wini Bhalla (41 článků zveřejněno)

Wini je spisovatel se sídlem v Dillí a má 2 roky psaní. Během psaní se stýkala s digitálními marketingovými agenturami a technickými firmami. Napsala obsah související s programovacími jazyky, cloudovou technologií, AWS, Machine Learning a mnoha dalšími. Ve svém volném čase ráda maluje, tráví čas se svou rodinou a cestuje do hor, kdykoli je to možné.

Více od Wini Bhally

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru