Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 218

Проверяем тип

с помощью функции isfile()

Функции, показанные в этом разделе, проверяют, ссылается ли имя на файл, ката-

лог или символьную ссылку (см. примеры, которые располагаются после описания

ссылок).

Первой мы рассмотрим функцию isfile(). Она задает простой вопрос: перед

нами находится старый добрый законопослушный файл?

>>> name = 'oops.txt'

>>> os.path.isfile(name)

True

Вот так можно определить папку:

>>> os.path.isdir(name)

False

Одна точка (.) является сокращением для текущей папки, а две точки (..) —

для родительской. Эти папки существуют всегда, поэтому следу ющее выражение

вернет результат True:

>>> os.path.isdir('.')

True

Файлы

283

Модуль os содержит множество функций, работающих с путем к файлу

(полное имя файла, которое начинается с символа / и включает все каталоги).

Одна из таких функций, isabs(), определяет, является ли аргумент абсолютным

путем. Аргумент не обязательно должен быть именем реально существующего

файла:

>>> os.path.isabs(name)

False

>>> os.path.isabs('/big/fake/name')

True

>>> os.path.isabs('big/fake/name/without/a/leading/slash')

False

Копируем файлы

с помощью функции copy()

Функция copy() находится в другом модуле, shutil. В этом примере файл oops.txt

копируется в файл ohno.txt:

>>> import shutil

>>> shutil.copy('oops.txt', 'ohno.txt')

Функция shutil.move() копирует файл, а затем удаляет оригинал.

Изменяем имена файлов

с помощью функции rename()

Эта функция соответствует своему названию. В этом примере файл ohno.txt пере-

именовывается в ohwell.txt:

>>> import os

>>> os.rename('ohno.txt', 'ohwell.txt')

Создаем ссылки с помощью link()

или symlink()

В операционных системах семейства Unix файл существует в одном месте, но мо-

жет иметь несколько имен, которые называются ссылками. Среди низкоуровневых

жестких ссылок найти все имена заданного файла не так уж легко. Символьная

ссылка позволяет вам получить одновременно оба имени — оригинальное и новое.