Бывает, что надо проверить корректность введенного пользователем адреса файла или каталога. Сделать это можно с помощью функции os.path.exists
, которая возвращает true
, если объект файловой системы существует, и false
– если нет.
Функция os.path.isfile
проверяет, является ли объект файлом, а os.path.isdir
— является ли каталогом.
В приведенном ниже скрипте проверяется наличие объекта по указанному пользователем адресу, после чего проверяется файл это или каталог. В зависимости от вида объекта выводится та или иная информация.
# Скрипт проверяет наличие пути.
# Если файл, то выводит его размер, даты создания, открытия и модификации.
# Если каталог, выводит список вложенных в него файлов и каталогов.
import os
import datetime
testpath = input('Введите адрес: ')
if os.path.exists(testpath):
if os.path.isfile(testpath):
print('ФАЙЛ')
print('Размер:',os.path.getsize(testpath)//1024,'Кб')
print('Дата создания:',\
datetime.datetime.fromtimestamp(int(os.path.getctime(testpath))))
print('Дата последнего открытия:',\
datetime.datetime.fromtimestamp(int(os.path.getatime(testpath))))
print('Дата последнего изменения:',\
datetime.datetime.fromtimestamp(int(os.path.getmtime(testpath))))
elif os.path.isdir(testpath):
print('КАТАЛОГ')
print('Список объектов в нем: ',os.listdir(testpath))
else:
print ('Объект не найден')
В скрипте также используются функции os.path.getsize
(возвращает размер файла), os.path.getctime
(время создания), os.path.getatime
(время последнего открытия), os.path.getmtime
(дата последнего изменения). Метод datetime.datetime.fromtimestamp
позволяет выводить время в местном формате.