На этом шаге мы продолжим знакомство с модулем os.path.
Вам нужно выяснить, существует ли файл или каталог.
Используйте os.path, чтобы проверить, существует ли файл или каталог. Например:
>>> import os >>> os.path.exists('/etc/passwd') True >>> os.path.exists('/tmp/spam') False >>>
Вы можете выполнить дополнительные тесты, чтобы проверить тип файла. Эти проверки возвращают False, если файл не существует:
>>> # Это обычный файл? >>> os.path.isfile('/etc/passwd') True >>> # Это каталог? >>> os.path.isdir('/etc/passwd') False >>> # Это символическая ссылка? >>> os.path.islink('/usr/local/bin/python3') True >>> # Получить прилинкованный файл >>> os.path.realpath('/usr/local/bin/python3') '/usr/local/bin/python3.3' >>>
Если вам нужно получить метаданные (например, размер или дату изменения файла), это тоже можно сделать с помощью модуля os.path:
>>> os.path.getsize('/etc/passwd') 3669 >>> os.path.getmtime('/etc/passwd') 1272478234.0 >>> import time >>> time.ctime(os.path.getmtime('/etc/passwd')) 'Wed Apr 28 13:10:34 2010'
Проверка файлов с помощью os.path становится очень простой операцией. Единственное, о чем стоит помнить, - так это о разрешениях, особенно при операциях получения метаданных. Например:
>>> os.path.getsize('Users/guido/Desktop/foo.txt') Traceback (most recent call last): . . . . PermissionError: [Errno 13] Permission denied: '/Users/guido/Desktop/foo.txt' >>>
На следующем шаге мы рассмотрим получение содержимого каталога.