Python Zkontrolujte, zda soubor existuje (s příklady)

⚡ Chytré shrnutí

Python umožňuje zkontrolovat, zda soubor nebo adresář existuje, pomocí modulu os.path a knihovny pathlib. Zde se dozvíte o funkcích os.path.exists(), os.path.isfile(), os.path.isdir() a pathlib.Path.exists(), každý s přehledným příkladem kódu.

  • (Tj. existuje(): Funkce os.path.exists(path) vrací hodnotu True, pokud soubor nebo adresář existuje.
  • 📄 jesoubor() / jedir(): Tyto vracejí hodnotu True pouze pro existující soubor nebo adresář.
  • 🐍 knihovna pathlib: pathlib.Path(cesta).exists() funguje v Python 3.4 a později.

Python Zkontrolovat, zda soubor existuje

Python existuje()

Python existuje() metoda se používá ke kontrole, zda konkrétní soubor nebo adresář existuje nebo ne. Používá se také ke kontrole, zda cesta odkazuje na libovolný otevřený deskriptor souboru nebo ne. Pokud soubor existuje, vrátí logickou hodnotu true a v opačném případě vrátí hodnotu false. Používá se s modulem os a podmodulem os.path jako os.path.exists(path).

V tomto Python file exists tutorial, naučíme se, jak zjistit, zda soubor (nebo adresář) existuje pomocí Python. Chcete-li zkontrolovat, zda soubor existuje Python, používáme vestavěnou knihovnu Python zkontrolujte, zda soubor existuje funkcí.

Existují různé způsoby, jak ověřit soubor resp Python zkontrolujte, zda adresář existuje, pomocí funkcí uvedených níže.

Jak zkontrolovat, zda soubor existuje v Python pomocí os.path.exists()

Pomocí path.exists můžete rychle zkontrolovat, zda soubor nebo adresář existuje. Zde jsou kroky pro Python kontrolní soubor existuje nebo ne:

Kroky 1) Importujte modul os.path

Před spuštěním kódu je důležité importovat modul os.path.

import os.path
from os import path

Kroky 2) Použijte funkci path.exists().

Nyní k tomu použijte funkci path.exists(). Python zkontrolujte, zda soubor existuje.

path.exists("guru99.txt")

Kroky 3) Spusťte níže uvedený kód

Zde je úplný kód

import os.path
from os import path

def main():

   print ("File exists:"+str(path.exists('guru99.txt')))
   print ("File exists:" + str(path.exists('career.guru99.txt')))
   print ("directory exists:" + str(path.exists('myDirectory')))

if __name__== "__main__":
   main()

V našem případě je v pracovním adresáři vytvořen pouze soubor guru99.txt

Výstup:

File exists: True
File exists: False
directory exists: False

Python isfile()

Jedno Python isfile() metoda se používá ke zjištění, zda je daná cesta existujícím běžným souborem nebo ne. Vrátí booleovskou hodnotu true, pokud je konkrétní cesta existující soubor, nebo vrátí false. Může být použit syntaxí: os.path.isfile(cesta).

os.path.isfile()

Příkaz isfile můžeme použít ke kontrole, zda daný vstup je soubor nebo ne.

import os.path
from os import path

def main():

	print ("Is it File?" + str(path.isfile('guru99.txt')))
	print ("Is it File?" + str(path.isfile('myDirectory')))
if __name__== "__main__":
	main()

Výstup:

Is it File? True
Is it File? False

os.path.isdir()

Pokud chceme potvrdit, že daná cesta ukazuje na adresář, můžeme použít funkci os.path.dir()

import os.path
from os import path

def main():

   print ("Is it Directory?" + str(path.isdir('guru99.txt')))
   print ("Is it Directory?" + str(path.isdir('myDirectory')))

if __name__== "__main__":
   main()

Výstup:

Is it Directory? False
Is it Directory? True

pathlibPath.exists() For Python 3.4

Python Verze 3.4 a vyšší mají modul pathlib pro práci s cestou souborového systému. Využívá objektově orientovaný přístup Python zkontrolujte, zda složka existuje nebo ne.

import pathlib
file = pathlib.Path("guru99.txt")
if file.exists ():
    print ("File exist")
else:
    print ("File not exist")

Výstup:

File exist

Kompletní Code

Zde je úplný kód

import os
from os import path

def main():
    # Print the name of the OS
    print(os.name)
#Check for item existence and type
print("Item exists:" + str(path.exists("guru99.txt")))
print("Item is a file: " + str(path.isfile("guru99.txt")))
print("Item is a directory: " + str(path.isdir("guru99.txt")))

if __name__ == "__main__":
    main()

Výstup:

Item exists: True
Item is a file: True
Item is a directory: False

Nejčastější dotazy

Použijte os.path.exists('file.txt'). Vrátí hodnotu True, pokud soubor nebo adresář existuje, jinak vrátí hodnotu False.

Funkce os.path.isfile(path) vrací hodnotu True, pouze pokud je cesta existujícím běžným souborem.

Použijte os.path.isdir(cesta). Vrací hodnotu True pouze tehdy, když je cesta existujícím adresářem.

Vytvořte pathlib.Path('file.txt') a zavolejte exists(). Vrátí True, pokud soubor existuje (Python 3.4+).

exists() je True pro soubory a adresáře, zatímco isfile() je True pouze pro soubory.

Asistenti umělé inteligence, jako je GitHub Copilot, automaticky dokončují kontroly os.path.exists() a pathlib a přidávají ochrany existence před otevřením souborů.

Ano. Nástroje s umělou inteligencí vkládají ochranné prvky os.path.exists() a refaktorují kód pro kontrolu cest před čtením nebo zápisem.

Ano. os.path.exists() vrací True pro soubory i adresáře; k jejich rozlišení použijte isfile() nebo isdir().

Shrňte tento příspěvek takto: