Учебники

20) Если файл или каталог существует

В этом уроке мы узнаем, как определить, существует ли файл (или каталог) с использованием Python. Чтобы проверить это, мы используем встроенные функции библиотеки.

Есть разные способы проверить, существует ли файл или каталог, используя функции, перечисленные ниже.

os.path.exists ()

Используя path.exists, вы можете быстро проверить, существует ли файл или каталог. Вот шаги

Шаги 1) Перед запуском кода важно импортировать модуль os.path.

import os.path
from os import path

Шаги 2) Теперь используйте функцию path.exists (), чтобы проверить, существует ли файл.

path.exists("guru99.txt")

Шаги 3) Вот полный код

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()

В нашем случае в рабочем каталоге создается только файл guru99.txt.

Вывод:

Файл существует: True
Файл существует: False

каталог существует: False

os.path.isfile ()

Мы можем использовать команду isfile, чтобы проверить, является ли данный ввод файлом или каталогом.

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()

Вывод:

Это файл? Правда
ли это файл? Ложь

os.path.isdir ()

Если мы хотим подтвердить, что данный путь указывает на каталог, мы можем использовать функцию 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()

Вывод:

Это каталог? Ложь
это каталог? Правда

pathlibPath.exists () для Python 3.4

В Python 3.4 и более поздних версиях есть модуль pathlib для работы с путем к файловой системе. Он использовал объектно-ориентированный подход, чтобы проверить, существует файл или нет.

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

Вывод:

Файл существует

Полный код

Вот полный код

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()

Вывод:

Элемент существует: True
Элемент является файлом: True

Элемент является каталогом: False

Как проверить, существует ли файл

  • os.path.exists()— Возвращает, Trueесли путь или каталог существует.
  • os.path.isfile()— Возвращает, Trueесли путь к файлу.
  • os.path.isdir()— Возвращает, Trueесли путь является каталогом.
  • pathlib.Path.exists()— Возвращает, Trueесли путь или каталог существует. (В Python 3.4 и более поздних версиях)