Python

Skontrolujte, či súbor existuje v Pythone

Skontrolujte, či súbor existuje v Pythone

Python poskytuje vstavaný modul operačného systému (OS), ktorý je možné použiť na prístup k súborom a adresárom OS. Každý užívateľ počítača často zistí potrebu skontrolovať, či súbor v systéme existuje. Predpokladajme napríklad, že pracujete na súborovom systéme a chcete sa ubezpečiť, že je súbor k dispozícii, skôr ako na ňom vykonáte akékoľvek väčšie operácie. Ak sa pokúsite navigovať alebo otvoriť neexistujúci súbor, spôsobilo by to chybu. Tento článok vám ukáže, ako používať rôzne mechanizmy kontroly súborov v Pythone.

Existujú tri rôzne funkcie Pythonu, ktoré možno použiť na overenie existencie súboru:

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

Nasledujúce časti podrobnejšie pojednávajú o týchto funkciách.

1. os.cesta.existuje ()

Cesta.funkcia exist () je zabudovaná funkcia poskytovaná modulom os. Táto funkcia prevezme súbor s cestou a vráti súbor „true“, ak je k dispozícii. Ak súbor nie je prítomný, funkcia vráti hodnotu „false“.„Pred použitím cesta.exist (), najskôr musíte importovať modul os.

Uveďme príklad.

#importujúci modul os
import os.cesta
# pomocou os.cesta.existovať () na kontrolu existencie súboru
# špecifikuje cestu k súboru
tlač (os.cesta.existuje ("/ home / linuxhint / Documents / test.TXT"))

Výkon
Na tomto výstupe vidíte, že os.cesta.Existujúca () funkcia vracia hodnotu „true“, čo znamená, že súbor sa nachádza v zadanej ceste.

Súbor sa tiež nachádza v adresári.

Poďme teraz upraviť program uvedený vyššie. Zmeníme vyhlásenie o tlači, aby bol výsledok jasnejší.

#importujúci modul os
import os.cesta
# pomocou os.cesta.existovať () na kontrolu existencie súboru
# špecifikuje cestu k súboru
print ("Súbor existuje:", os.cesta.existuje ("/ home / linuxhint / Documents / test.TXT"))

Výkon

Ďalej zmeníme súbor a namiesto neho určíme súbor, ktorý neexistuje. Uvidíte, že os.cesta.Existujúca () funkcia vráti 'false.„

#imprting os modul
import os.cesta
# pomocou os.cesta.existovať () na kontrolu existencie súboru
# špecifikuje cestu k súboru
print ("Súbor existuje:", os.cesta.existuje ("/ home / linuxhint / Documents / abcfile.TXT"))

Výkon
Tento výstup ukazuje, že os.cesta.Funkcia existuje () vracia hodnotu 'nepravda', keď súbor neexistuje.

2. os.cesta.isfile ()

Os.cesta.Funkcia isfile () sa tiež používa na kontrolu existencie súboru. Toto je najbežnejší spôsob kontroly existencie súboru. Os.cesta.Funkcia isfile () berie cestu k súboru ako parameter a kontroluje, či daná cesta obsahuje platný súbor. Táto funkcia vráti hodnotu „true“, ak je daná cesta bežným súborom, a vráti hodnotu „false“, ak daná cesta nie je bežným súborom. Pozrime sa na príklad.

#imoprting os modul
import os.cesta
# pomocou os.cesta.isfile () na kontrolu existencie súboru
# špecifikuje cestu k súboru
print ("Toto je súbor:", os.cesta.isfile ("/ home / linuxhint / Documents / test.TXT"))

Výkon
Os.cesta.funkcia isfile () vracia hodnotu 'true.„

V tomto príklade zadáme názov neplatného súboru v danej ceste. Na výstupe uvidíte, že os.cesta.funkcia isfile () vracia hodnotu 'false.„

#importujúci modul os
import os.cesta
# pomocou os.cesta.isfile () na kontrolu existencie súboru
# špecifikuje cestu k súboru
print ("Toto je súbor:", os.cesta.isfile ("/ home / linuxhint / Documents / fileTest.TXT"))

Výkon

3. pathlibPath.existuje ()

Python 3.4 a vyššie verzie, ktoré majú modul pathlib na prácu so súborovými systémami a cestami.

Pozrime sa na príklad tejto funkcie:

#importujúci modul pathlib
importovať cestu
# uloženie cesty k súboru v premennej pomocou funkcie Path ()
filePath = pathlib.Cesta ("/ home / linuxhint / Documents / test.TXT")
Funkcia #using exists () na kontrolu, či súbor existuje
ak filePath.existuje ():
print ("Súbor existuje")
inak:
print ("Súbor neexistuje")

Výkon
Daný súbor existuje v adresári; preto funkcia Exist () vráti 'true.„

Ďalej vo funkcii Path () zadáme neplatnú cestu k súboru a skontrolujeme výstup.

#importovanie modulu pathlib
importovať cestu
# uloženie cesty k súboru v premennej pomocou funkcie Path ()
filePath = pathlib.Cesta ("/ home / linuxhint / Documents / testabc.TXT")
Funkcia #using exists () na kontrolu, či súbor existuje
ak filePath.existuje ():
print ("Súbor existuje")
inak:
print ("Súbor neexistuje")

Výkon
Funkcia existuje () vracia hodnotu „false“ a vykoná sa príkaz else, pretože súbor v danom adresári neexistuje.

Podobne môžeme overiť existenciu adresára v Pythone pomocou nasledujúcich vstavaných funkcií:

os.cesta.isdir ()

Os.cesta.Funkcia isdir () vráti hodnotu „true“, ak zadaný adresár existuje, a funkcia vráti hodnotu „false“, ak adresár neexistuje.

Pozrime sa na príklad:

#importujúci modul os
import os.cesta
# pomocou os.cesta.isdir () na kontrolu existencie adresára
# zadanie cesty k adresáru dokumentov
print ("Toto je adresár:", os.cesta.isdir ("/ home / linuxhint / Documents"))

Výkon
Os.cesta.Funkcia isdir () vracia hodnotu true, pretože adresár existuje v systéme.

Teraz uveďme cestu k neplatnému adresáru.

#importujúci modul os
import os.cesta
# pomocou os.cesta.isdir () na kontrolu existencie smerovania
# zadanie cesty k adresáru MyDocuments
print ("Toto je adresár:", os.cesta.isdir ("/ home / linuxhint / MyDocuments"))

Výkon

Záver

V tomto článku sme vysvetlili metódy overenia existencie súboru v Pythone na niekoľkých príkladoch. Tento článok ukázal rôzne spôsoby overenia existencie súboru v Pythone. Moduly os a pathlib poskytujú zabudované funkcie na overenie existencie ľubovoľného súboru v systéme. Tieto znalosti sa ukážu ako užitočné, pretože v prípade Pythonu a programovania sa často stáva, že požadujete overenie existencie súboru.

Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...