Ako skontrolovať, či súbor existuje v Pythone

How Check File Exists Python



Na mnohé účely programovania je potrebné zistiť, či nejaký súbor existuje alebo nie. Pred otvorením súboru na čítanie je napríklad dôležité vedieť, že súbor existuje, inak sa zobrazí chybové hlásenie. Ak chcete zabrániť prepisovaniu akéhokoľvek existujúceho súboru, musíte pred zápisom zistiť, či súbor už existuje alebo nie. V pythone je mnoho vstavaných funkcií na kontrolu existencie akéhokoľvek súboru. V tomto návode sú uvedené rôzne spôsoby, ako skontrolovať, či súbor existuje alebo nie.

Pomocou súboru os.path.isfile () skontrolujte, či súbor existuje:

ty modul obsahuje rôzne metódy na kontrolu, či súbor alebo adresár existuje alebo nie. Nasledujúci príklad os.path . isfile () metóda ty modul sa používa na kontrolu, či súbor existuje alebo nie. Tu môže používateľ poskytnúť iba názov súboru, ak súbor existuje na aktuálnom mieste, alebo názov súboru s cestou ako vstupom. Ďalšie, os.path.isfile () metóda sa používa na kontrolu, či je cesta platná alebo nie a či zadaný názov súboru je súbor alebo symbolické prepojenie súboru.







#!/usr/bin/env python3
# Import os modulu
import ty

# Vytvorte názov súboru
fn= vstup('Zadajte názov súboru, ktorý chcete čítať: n')
# Skontrolujte, či súbor existuje alebo nie
keby ty.cesta.isfile(fn):
# vytlačte správu, ak súbor existuje
vytlačiť („Súbor existuje“)
inak:
# Vytlačte správu, ak súbor neexistuje
vytlačiť ('Súbor neexistuje')

Výkon:



V prvom vstupe je ako vstup zadaný neplatný názov súboru a výstup ukazuje 'Súbor neexistuje' . V druhom vstupe je ako vstup zadaný platný názov súboru a výstup je zobrazený „Súbor existuje“ .







Pomocou súboru os.path.exists () skontrolujte, či súbor existuje:

V nasledujúcom skripte, os.path.exists () metóda sa používa na kontrolu existencie akéhokoľvek súboru. Metóda sa používa na testovanie akejkoľvek cesty, či je súbor, adresár alebo symbolický odkaz. Tu to funguje podobne ako v predchádzajúcom prípade.

#!/usr/bin/env python3
# Import os modulu
import ty

# Vytvorte názov súboru
fn= vstup('Zadajte názov súboru, ktorý chcete čítať: n')
# Skontrolujte, či cesta k súboru existuje alebo nie
keby ty.cesta.existuje(fn):
# vytlačte správu, ak cesta existuje
vytlačiť („Súbor existuje“)
inak:
# Ak cesta k súboru neexistuje, vytlačte správu
vytlačiť ('Súbor neexistuje')

Výkon:



V prvom vstupe je ako vstup zadaná neplatná cesta k súboru a prípona os.path.exists () vrátil nepravdivý. Výstup ukazuje 'Súbor neexistuje' . V druhom vstupe je ako vstup zadaná platná cesta k súboru a prípona os.path.exists () vrátil sa pravdivý. Výstup ukazuje „Súbor existuje“ .

Pomocou is_file () modulu pathlib skontrolujte, či súbor existuje:

pathlib modul je ďalším užitočným modulom pythonu na kontrolu, či súbor alebo adresár existuje alebo nie. Obsahuje rôzne metódy ako ty modul na testovanie cesty, súboru alebo adresára. Nasledujúci skript ukazuje použitie is_file () metóda tohto modulu na kontrolu, či súbor existuje alebo nie. Názov súboru bude prevzatý od používateľa ako v predchádzajúcom príklade. Výstup sa zobrazí na základe návratovej hodnoty is_file () metóda. Ak súbor existuje, potom

zobrazí sa obsah súboru.

#!/usr/bin/env python3
odpathlibimportCesta
# Vytvorte názov súboru
fn= vstup('Zadajte názov súboru, ktorý chcete čítať: n')

kebyCesta(fn).is_file():
# vytlačte správu, ak existuje cesta k súboru
vytlačiť (' nSúbor existuje ')
vytlačiť(„Obsah nižšie uvedeného súboru:“ )
# Otvorte súbor na čítanie
fh= otvorené(fn)
# Vytlačte obsah súboru
vytlačiť(fh.čítať())
inak:
# Ak cesta k súboru neexistuje, vytlačte správu
vytlačiť ('Súbor neexistuje')

Výkon:

V prvom vstupe je ako vstup zadaný neplatný názov súboru a výstup ukazuje 'Súbor neexistuje' . V druhom vstupe je ako vstup zadaný platný názov súboru a výstup je zobrazený „Súbor existuje“ a zobrazí sa obsah súboru.

Skontrolujte, či súbor existuje, pomocou modulu neexistuje () modulu pathlib:

pathlib modul tiež obsahuje existuje () metóda ako os modul. Nasledujúci príklad ukazuje použitie tejto metódy. Ak cesta k súboru existuje, zobrazí sa obsah súboru.

#!/usr/bin/env python3
importpathlib
# Vytvorte názov súboru
fn= vstup('Zadajte názov súboru, ktorý chcete čítať: n')
cesta=pathlib.Cesta(fn)
kebycesta.existuje():
# vytlačte správu, ak existuje cesta k súboru
vytlačiť (' nSúbor existuje ')
vytlačiť(„Obsah nižšie uvedeného súboru:“ )
# Otvorte súbor na čítanie
fh= otvorené(fn)
# Vytlačte obsah súboru
vytlačiť(fh.čítať())
inak:
# Ak cesta k súboru neexistuje, vytlačte správu
vytlačiť ('Súbor neexistuje')

Výkon:

V prvom vstupe je ako vstup zadaná neplatná cesta k súboru a výstup je zobrazený 'Súbor neexistuje' . V druhom vstupe je ako vstup zadaná platná cesta k súboru a výstup je zobrazený „Súbor existuje“ a zobrazí sa obsah súboru.

Pomocou spracovania výnimiek skontrolujte, či súbor existuje:

Pomocou funkcie spracovania výnimiek v pythone môžete ľahko skontrolovať, či súbor existuje alebo nie. Nasledujúci skript ukazuje, ako môžete skontrolovať, či súbor existuje, bez importovania akéhokoľvek modulu. Po zadaní názvu súboru sa súbor otvorí v priečinku skúsiť blok. Ak súbor neexistuje, vygeneruje výnimku a vytlačí vlastné chybové hlásenie.

#!/usr/bin/env python3
# Vytvorte názov súboru
fn= vstup('Zadajte názov súboru, ktorý chcete čítať: n')
skúsiť:
# Otvorte súbor na čítanie
fileHandler= otvorené(fn)
# Ak sa nevyskytne žiadna výnimka, vytlačte si nasledujúcu správu
vytlačiť(„Súbor existuje“)
# zatvorte súbor
fileHandler.Zavrieť()
okremFileNotFoundError:
# Ak sa vyskytne chyba, vytlačte si nasledujúcu správu
vytlačiť(„Súbor neexistuje alebo je prístupný“)
konečne:
# vytlačte správu o ukončení
vytlačiť(„Koniec programu“)

Výkon:

Nasledujúci výstup sa zobrazí, ak je zadaný neplatný názov súboru a je zadaný platný názov súboru.

Záver:

Rôzne spôsoby kontroly, či súbor v Pythone existuje alebo nie, sú popísané v tomto návode pomocou rôznych typov príkladov. V niektorých skriptoch sa používajú moduly Python a v skripte sa tu používa spracovanie výnimiek. Užívateľ môže použiť ktorýkoľvek zo spôsobov kontroly existencie súboru alebo nie.