islink() проверяет, является ли файл символьной ссылкой.
284
Глава 10. Системы
Вот так можно создать жесткую ссылку на существующий файл oops.txt из
нового файла yikes.txt:
>>> os.link('oops.txt', 'yikes.txt')
>>> os.path.isfile('yikes.txt')
True
Для того чтобы создать символьную ссылку на существующий файл oops.txt
из нового файла jeepers.txt, используйте следующий код:
>>> os.path.islink('yikes.txt')
False
>>> os.symlink('oops.txt', 'jeepers.txt')
>>> os.path.islink('jeepers.txt')
True
Изменяем разрешения
с помощью функции chmod()
В системах Unix функция chmod() изменяет разрешение на использование файла.
Можно задать возможность читать, записывать и выполнять файл для пользова-
теля (обычно для вас, если файл создавали вы), основной группы, в которой на-
ходится пользователь, и остального мира. Команда принимает сильно сжатое вось-
меричное значение (в системе счисления с основанием 8), которое содержит в себе
информацию о пользователе, группе и другие разрешения. Например, для того
чтобы указать, что файл oops.txt доступен только для чтения своему владельцу,
введите следующий код:
>>> os.chmod('oops.txt', 0o400)
Если вы не хотите работать с таинственными восьмеричными значениями и вам
приятнее работать с непонятными (немного) таинственными символами, можете
импортировать некоторые константы из модуля stat и использовать выражение,
аналогичное следующему:
>>> import stat
>>> os.chmod('oops.txt', stat.S_IRUSR)
Изменение владельца файла
с помощью функции chown()
Эта функция также характерна для систем Unix/Linux/Mac. Вы можете изменить
владельца и/или группу, указав числовой идентификатор пользователя ID (uid)
и идентификатор группы (gid):
>>> uid = 5
>>> gid = 22
>>> os.chown('oops', uid, gid)
Каталоги
285
Получаем pathname
с помощью функции abspath()
Эта функция расширяет относительное имя до абсолютного. Если вы находитесь
в папке /usr/gaberlunzie, в которой лежит файл oops.txt, то можете воспользовать-
ся следующим кодом:
>>> os.path.abspath('oops.txt')
'/usr/gaberlunzie/oops.txt'