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

В этом уроке вы узнаете, как проверить, существует ли файл в Python.

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

Для этого вы можете использовать функцию Exist() из модуля os.path или метод is_file() из класса Path в модуле pathlib.

  • Функция os.path.exists()
from os.path import exists

file_exists = exists(path_to_file)
  • Метод Path.is_file()
from pathlib import Path

path = Path(path_to_file)

path.is_file()

Использование функции os.path.exists() для проверки существования файла

Чтобы проверить, существует ли файл, вы передаете путь к файлу функции exists() из стандартной библиотеки os.path.

Сначала импортируйте стандартную библиотеку os.path:

import os.path

Затем вызовите функцию exists():

os.path.exists(path_to_file)

Если файл существует, функция exists() возвращает значение True. В противном случае она возвращает False.

Если файл находится в той же папке, что и программа, path_to_file — это просто имя файла. Однако вам нужно передать полный путь к файлу.

Например:

/path/to/filename

Даже если вы запускаете программу в Windows, для разделения пути следует использовать косую черту (/). Она будет работать в Windows, macOS и Linux.

В следующем примере функция exists() используется для проверки того, существует ли файл readme.txt в той же папке, что и программа:

import os.path

file_exists = os.path.exists('readme.txt')

print(file_exists)

Если файл readme.txt существует, вы увидите следующий вывод:

True

В противном случае вы увидите на экране:

False

Чтобы сделать вызов функции exists() короче и очевиднее, вы можете импортировать эту функцию и переименовать ее в функцию file_exists() следующим образом:

from os.path import exists as file_exists

file_exists('readme.txt')

Использование модуля pathlib для проверки существования файла

Python представил модуль pathlib начиная с версии 3.4.

Модуль pathlib позволяет манипулировать файлами и папками, используя объектно-ориентированный подход. Если вы не знакомы с объектно-ориентированным программированием, ознакомьтесь с разделом ООП Python.

Сначала импортируйте класс Path из модуля pathlib:

from pathlib import Path

Затем создайте экземпляр нового экземпляра класса Path и инициализируйте его путем к файлу, существование которого вы хотите проверить:

path = Path(path_to_file)

Наконец, проверьте, существует ли файл, используя метод is_file():

path.is_file()

Если файл не существует, метод is_file() возвращает значение False. В противном случае он возвращает True.

В следующем примере показано, как использовать класс Path из модуля pathlib, чтобы проверить, существует ли файл readme.txt в той же папке программы:

from pathlib import Path

path_to_file = 'readme.txt'
path = Path(path_to_file)

if path.is_file():
    print(f'The file {path_to_file} exists')
else:
    print(f'The file {path_to_file} does not exist')

Если файл readme.txt существует, вы увидите следующий вывод:

The file readme.txt exists
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *