MyTetra Share
Делитесь знаниями!
Проверка наличия файла или каталога по указанному пути
14.01.2018
18:32
Текстовые метки: python примеры,,path-exists
Раздел: Python - Перевод документации Python 3.x

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

Бывает, что надо проверить корректность введенного пользователем адреса файла или каталога. Сделать это можно с помощью функции 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 позволяет выводить время в местном формате.

Создано

2011-08-23

 
MyTetra Share v.0.52
Яндекс индекс цитирования