Krajta

Zkontrolujte, zda soubor existuje v Pythonu

Zkontrolujte, zda soubor existuje v Pythonu

Python poskytuje vestavěný modul operačního systému (OS), který lze použít pro přístup k souborům a adresářům OS. Každý uživatel počítače často zjistí, že je třeba zkontrolovat, zda soubor v systému existuje. Předpokládejme například, že pracujete na systému souborů a chcete se ujistit, že je soubor k dispozici, než na něm provedete nějaké hlavní operace. Pokud se pokusíte navigovat nebo otevřít neexistující soubor, způsobilo by to chybu. Tento článek ukazuje, jak používat různé mechanismy kontroly souborů v Pythonu.

Existují tři různé funkce Pythonu, které lze použít k ověření existence souboru:

  1. cesta.existuje ()
  2. cesta.isfile ()
  3. existuje ()

Následující části pojednávají o těchto funkcích podrobněji.

1. os.cesta.existuje ()

Cesta.funkce exist () je vestavěná funkce poskytovaná modulem os. Tato funkce převezme soubor cesty a vrátí 'true', pokud je soubor k dispozici. Pokud soubor není k dispozici, vrátí funkce hodnotu 'false.„Před použitím cesty.exist (), nejprve musíte importovat modul os.

Uveďme příklad.

#importující modul os
import os.cesta
# pomocí os.cesta.exist () ke kontrole existence souboru
# určující cestu k souboru
tisk (os.cesta.existuje ("/ home / linuxhint / Documents / test.txt "))

Výstup
Na tomto výstupu vidíte, že os.cesta.funkce existuje () vrací hodnotu „true“, což znamená, že soubor je přítomen v zadané cestě.

Soubor je také přítomen v adresáři.

Pojďme nyní upravit výše uvedený program. Změníme tiskové prohlášení, aby byl výsledek jasnější.

#importující modul os
import os.cesta
# pomocí os.cesta.exist () ke kontrole existence souboru
# určující cestu k souboru
print ("Soubor existuje:", os.cesta.existuje ("/ home / linuxhint / Documents / test.txt "))

Výstup

Dále soubor změníme a místo něj určíme soubor, který neexistuje. Uvidíte, že os.cesta.Funkce existuje () vrátí 'false.''

#imprting os modul
import os.cesta
# pomocí os.cesta.exist () ke kontrole existence souboru
# určující cestu k souboru
print ("Soubor existuje:", os.cesta.existuje ("/ home / linuxhint / Documents / abcfile.txt "))

Výstup
Tento výstup ukazuje, že os.cesta.funkce existuje () vrací 'false', pokud soubor neexistuje.

2. os.cesta.isfile ()

Os.cesta.Funkce isfile () se také používá ke kontrole existence souboru. Toto je nejběžnější způsob kontroly existence souboru. Os.cesta.Funkce isfile () přebírá cestu k souboru jako parametr a kontroluje, zda daná cesta obsahuje platný soubor. Tato funkce vrací hodnotu „true“, pokud je daná cesta běžným souborem, a vrací hodnotu „false“, pokud daná cesta není běžným souborem. Podívejme se na příklad.

#imoprting os modul
import os.cesta
# pomocí os.cesta.isfile () ke kontrole existence souboru
# určující cestu k souboru
print ("Toto je soubor:", os.cesta.isfile ("/ home / linuxhint / Documents / test.txt "))

Výstup
Os.cesta.Funkce isfile () vrací 'true.''

V tomto příkladu zadáme název neplatného souboru v dané cestě. Na výstupu uvidíte, že os.cesta.Funkce isfile () vrací 'false.''

#importující modul os
import os.cesta
# pomocí os.cesta.isfile () ke kontrole existence souboru
# určující cestu k souboru
print ("Toto je soubor:", os.cesta.isfile ("/ home / linuxhint / Documents / fileTest.txt "))

Výstup

3. pathlibPath.existuje ()

Python 3.Verze 4 a vyšší mají modul pathlib pro řešení souborových systémů a cest.

Podívejme se na příklad této funkce:

#importování modulu pathlib
importovat cestu
# uložení cesty k souboru v proměnné pomocí funkce Path ()
filePath = pathlib.Cesta ("/ home / linuxhint / Documents / test.txt ")
Funkce #using exists () ke kontrole, zda soubor existuje
pokud filePath.existuje ():
print ("Soubor existuje")
jiný:
tisk ("Soubor neexistuje")

Výstup
Daný soubor existuje v adresáři; proto funkce existující () vrací 'true.''

Dále zadáme neplatnou cestu k souboru ve funkci Path () a zkontrolujeme výstup.

#importování modulu pathlib
importovat cestu
# uložení cesty k souboru v proměnné pomocí funkce Path ()
filePath = pathlib.Cesta ("/ home / linuxhint / Documents / testabc.txt ")
Funkce #using exists () ke kontrole, zda soubor existuje
pokud filePath.existuje ():
print ("Soubor existuje")
jiný:
tisk ("Soubor neexistuje")

Výstup
Funkce Exist () vrací 'false' a příkaz else je proveden, protože soubor v daném adresáři neexistuje.

Podobně můžeme ověřit existenci adresáře v Pythonu pomocí následujících vestavěných funkcí:

os.cesta.isdir ()

Os.cesta.funkce isdir () vrací hodnotu „true“, pokud zadaný adresář existuje, a funkce vrací hodnotu „false“, pokud adresář neexistuje.

Podívejme se na příklad:

#importující modul os
import os.cesta
# pomocí os.cesta.isdir () zkontrolovat existenci adresáře
# určující cestu k adresáři dokumentů
print ("Toto je adresář:", os.cesta.isdir ("/ home / linuxhint / Documents"))

Výstup
Os.cesta.Funkce isdir () vrací true, protože adresář v systému existuje.

Nyní určíme cestu k neplatnému adresáři.

#importující modul os
import os.cesta
# pomocí os.cesta.isdir () zkontrolovat existenci direcoty
# určující cestu k adresáři MyDocuments
print ("Toto je adresář:", os.cesta.isdir ("/ home / linuxhint / MyDocuments"))

Výstup

Závěr

V tomto článku jsme vysvětlili metody ověření existence souboru v Pythonu na několika příkladech. Tento článek ukázal různé způsoby ověření existence souboru v Pythonu. Moduly os a pathlib poskytují vestavěné funkce k ověření existence jakéhokoli souboru v systému. Tyto znalosti se ukáží jako užitečné, protože v Pythonu a programování bude často vyžadovat ověření existence souboru.

Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...
Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...