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:
- cesta.existuje ()
- cesta.isfile ()
- 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 osimport 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 osimport 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 modulimport 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 modulimport 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 osimport 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 pathlibimportovat 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 pathlibimportovat 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 osimport 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 osimport 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.