Проверка наличия файла или каталога по указанному пути

Бывает, что надо проверить корректность введенного пользователем адреса файла или каталога. Сделать это можно с помощью функции os.path.exists, которая возвращает true, если объект файловой системы существует, и false – если нет.

Функция os.path.isfile проверяет, является ли объект файлом, а os.path.isdir — является ли каталогом.

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

# Скрипт проверяет наличие пути.
# Если файл, то выводит его размер, даты создания, открытия и модификации.
# Если каталог, выводит список вложенных в него файлов и каталогов.

import os
import datetime

test_path = input('Введите адрес: ')

if os.path.exists(test_path):
    if os.path.isfile(test_path):
        print('ФАЙЛ')
        print('Размер:', os.path.getsize(test_path) // 1024, 'Кб')
        print('Дата создания:',
              datetime.datetime.fromtimestamp(
                  int(os.path.getctime(test_path))))
        print('Дата последнего открытия:',
              datetime.datetime.fromtimestamp(
                  int(os.path.getatime(test_path))))
        print('Дата последнего изменения:',
              datetime.datetime.fromtimestamp(
                  int(os.path.getmtime(test_path))))
    elif os.path.isdir(test_path):
        print('КАТАЛОГ')
        print('Список объектов в нем: ', os.listdir(test_path))
else:
    print('Объект не найден')

В скрипте также используются функции os.path.getsize (возвращает размер файла), os.path.getctime (время создания), os.path.getatime (время последнего открытия), os.path.getmtime (дата последнего изменения). Метод datetime.datetime.fromtimestamp позволяет выводить время в местном формате.

В скрипте также используются функции os.path.getsize (возвращает размер файла), os.path.getctime (время создания), os.path.getatime (время последнего открытия), os.path.getmtime (дата последнего изменения). Метод datetime.datetime.fromtimestamp позволяет выводить время в местном формате.

Примеры выполнения программы:

Введите адрес: /home/pl/test.py
ФАЙЛ
Размер: 2 Кб
Дата создания: 2021-10-14 19:55:58
Дата последнего открытия: 2022-04-21 08:21:00
Дата последнего изменения: 2021-10-14 19:55:58
Введите адрес: /home/pl/pas
КАТАЛОГ
Список объектов в нем:  ['vk', 'theory', 'tasks']