logo

Python – Ako skontrolovať, či súbor alebo adresár existuje

Niekedy je potrebné overiť, či existuje slovník alebo súbor. Je to preto, že sa možno budete chcieť uistiť, že je súbor dostupný pred jeho načítaním, alebo možno budete chcieť zabrániť prepísaniu už existujúceho súboru.

V tomto návode sa budeme zaoberať dôležitým konceptom spracovanie súborov v Pythone o Ako skontrolovať, či súbor už existuje v Pythone. Budeme sa zaoberať štyrmi spôsobmi, ako skontrolovať, či je súbor alebo adresár už prítomný.



Ako skontrolovať, či v Pythone existuje súbor alebo adresár?

Ak chcete skontrolovať, či súbor alebo adresár už v Pythone existuje, môžete použiť nasledujúce metódy:

  1. os.path.exists(cesta): Skontroluje, či na danej ceste existuje súbor alebo adresár.
  2. os.path.isfile(cesta): Skontroluje, či súbor na danej ceste existuje.
  3. os.path.isdir(cesta): Skontroluje, či na danej ceste existuje adresár.
  4. pathlib.path.exists(): Skontroluje, či zastúpený súbor alebo adresár existuje (časť objektu Pathlib).

Pomocou os.path.exists() skontrolujte, či existuje súbor alebo adresár

modul OS v Pythone poskytuje funkcie na interakciu s operačným systémom. OS patrí do štandardných modulov Pythonu. Tento modul poskytuje prenosný spôsob používania funkcií závislých od operačného systému.

f-string python

modul os.path je submodul OS modulu v Pythone, ktorý sa používa na bežné manipulácie s názvom cesty.



metóda os.path.exists(). v Pythone sa používa na kontrolu, či zadaná cesta existuje alebo nie. Túto metódu môžete použiť na kontrolu, či súbor alebo adresár existuje. Túto metódu je možné použiť aj na kontrolu, či daná cesta odkazuje na otvoriť deskriptor súboru alebo nie.

Syntax: os.path.exists(cesta)

Parameter:



  • cesta: Objekt podobný ceste predstavujúci cestu súborového systému.

Návrat: Vráti TRUE, ak cesta existuje inak FALSE.

Príklad: Kontrola, či existuje cesta pomocou os.path.exists()

Python3
import os # Specify path  path = '/usr/local/bin/' # Check whether the specified  # path exists or not  isExist = os.path.exists(path) print(isExist) # Specify path  path = '/home/User/Desktop/file.txt' # Check whether the specified  # path exists or not  isExist = os.path.exists(path) print(isExist)>

Výkon:

True False>

Použitie metódy os.path.isfile() na kontrolu, či súbor existuje

metóda os.path.isfile(). v Pythone sa používa na kontrolu, či súbor existuje alebo nie. Skontroluje, či zadaná cesta je existujúci bežný súbor alebo nie.

definovať počítač

Syntax: os.path.isfile(cesta)

Parameter:

  • cesta: Objekt podobný ceste predstavujúci cestu súborového systému.

Typ návratu: Ak súbor skončí, vráti hodnotu TRUE, v opačnom prípade vráti hodnotu FALSE

Príklad: Kontrola, či cesta smerujúca k prostriedku je súbor

Python3
import os # Path  path = 'C:/Users/gfg/Desktop/file.txt' # Check whether a path pointing to a file isFile = os.path.isfile(path) print(isFile) # Path path = '/home/User/Desktop/' # Check whether the path is a file isFile = os.path.isfile(path) print(isFile)>

Výkon:

True False>

Použitie metódy os.path.isdir() na kontrolu existencie adresára

metóda os.path.isdir(). v Pythone sa používa na kontrolu, či zadaná cesta je existujúcim adresárom alebo nie. Táto metóda nasleduje po symbolickom odkaze, čo znamená, že ak je zadaná cesta symbolickým odkazom smerujúcim na adresár, metóda vráti hodnotu True.

boolean na reťazec

Syntax: os.path.isdir(cesta)

Parameter:

  • cesta: Objekt podobný ceste predstavujúci cestu súborového systému.

Typ návratu: Ak adresár existuje, vráti hodnotu TRUE, v opačnom prípade vráti hodnotu FALSE

Príklad 1: Skontrolujte, či je cesta adresárom pomocou os.path.isdir()

Python3
import os.path # Path  path = '/home/User/Documents/file.txt' # Check whether the path is an existing directory isdir = os.path.isdir(path) print(isdir) # Path  path = '/home/User/Documents/' # Check whether the path is a directory isdir = os.path.isdir(>


hashtable versus hashmap

Výkon:

False True>

Príklad 2: Ak je zadaná cesta symbolickým odkazom.

Python3
import os.path # Create a directory dirname = 'GeeksForGeeks' os.mkdir(dirname) # Create a symbolic link  # pointing to above directory  symlink_path = '/home/User/Desktop/gfg' os.symlink(dirname, symlink_path) path = dirname # Check whether the specified path is an  # existing directory or not  isdir = os.path.isdir(path) print(isdir) path = symlink_path # check whether the symlink is  # an existing directory or not isdir = os.path.isdir(path) print(isdir)>

Výkon:

True True>

Pomocou pathlib.Path.exists() skontrolujte, či súbor alebo adresár existuje

modul pathlib v Pythone poskytuje rôzne triedy reprezentujúce cesty súborového systému so sémantikou vhodnou pre rôzne operačné systémy. Tento modul patrí medzi štandardné pomocné moduly Pythonu.

Triedy ciest v modul pathlib sa delia na čisté cesty a betónové cesty . Čisté cesty poskytujú iba výpočtové operácie, ale neposkytujú I/O operácie, zatiaľ čo konkrétne cesty dedia z čistých ciest a poskytujú tak výpočtové, ako aj I/O operácie.

pathlib.Path.exists() metóda sa používa na kontrolu, či daná cesta ukazuje na existujúci súbor alebo adresár alebo nie.

Syntax: pathlib.Path.exists(cesta)

Parameter:

  • cesta: Objekt podobný ceste predstavujúci cestu súborového systému.

Typ návratu: Ak súbor alebo adresár existuje, vráti hodnotu TRUE, v opačnom prípade vráti hodnotu FALSE

Príklad: Skontrolujte, či cesta existuje pomocou modulu pathlib

Python3
# Import Path class from pathlib import Path # Path path = '/home/tuhingfg/Desktop' # Instantiate the Path class obj = Path(path) # Check if path exists print('path exists?', obj.exists())>

Výkon:

True>

V tomto návode sme pokryli 4 metódy, ako skontrolovať, či súbor alebo adresár už v Pythone existuje. Pokryli sme použitie modulu OS a modulu pathlib s ich príslušnými funkciami, ako sú os.path.isfile(), os.path.isdir(), pathlib.path.exists() atď. Toto sú niektoré z najjednoduchších metód, ktoré môže skúsiť skontrolovať, či súbor už v Pythone existuje.

powershell menší alebo rovný