Как с помощью модуля `pathlib` проверить, существует ли файл или директория?

Используйте методы exists(), is_file() и is_dir() объекта Path для проверки существования файла или директории:
  • Path("путь/к/файлу").exists(): Возвращает True, если путь существует (файл или директория).
  • Path("путь/к/файлу").is_file(): Возвращает True, если путь существует и является файлом.
  • Path("путь/к/директории").is_dir(): Возвращает True, если путь существует и является директорией.

Для проверки существования файла или директории с помощью модуля pathlib в Python, используются методы exists(), is_file() и is_dir() объекта Path.

Вот примеры использования каждого из них:


import pathlib

# Создаем объект Path
filepath = pathlib.Path("my_file.txt")  #или pathlib.Path("/path/to/my_directory")

# Проверка существования файла или директории
if filepath.exists():
    print(f"Файл или директория '{filepath}' существует.")
else:
    print(f"Файл или директория '{filepath}' не существует.")

# Проверка, является ли путь файлом
if filepath.is_file():
    print(f"'{filepath}' это файл.")
else:
    print(f"'{filepath}' не является файлом.")

# Проверка, является ли путь директорией
if filepath.is_dir():
    print(f"'{filepath}' это директория.")
else:
    print(f"'{filepath}' не является директорией.")


# Пример использования с относительным путем (предполагается, что файл существует в текущей директории)

filepath_relative = pathlib.Path("./my_file.txt")

if filepath_relative.exists():
    print(f"Файл или директория '{filepath_relative}' существует.")
else:
    print(f"Файл или директория '{filepath_relative}' не существует.")

Пояснения:

  • pathlib.Path("my_file.txt") создает объект Path, представляющий путь к файлу или директории. Аргумент может быть абсолютным или относительным путем.
  • exists() возвращает True, если файл или директория по указанному пути существует, и False в противном случае. Он проверяет наличие любого объекта по этому пути.
  • is_file() возвращает True, только если путь существует и является файлом. В противном случае возвращает False.
  • is_dir() возвращает True, только если путь существует и является директорией. В противном случае возвращает False.

Важно: Прежде чем использовать методы is_file() и is_dir(), рекомендуется проверить существование пути с помощью exists(), чтобы избежать потенциальных ошибок, если путь не существует. Хотя is_file() и is_dir() тоже возвращают False если путь не существует, явная проверка через exists() делает код более читаемым и понятным.

0