> **Источник:** https://python-all.ru/2.7/library/macostools.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 37.3. [`macostools`](https://python-all.ru/2.7/library/macostools.html#module-macostools) – Удобные процедуры для работы с файлами

Этот модуль содержит несколько удобных процедур для работы с файлами на Macintosh. Все параметры файлов могут быть указаны как пути, объекты `FSRef` или `FSSpec`. Модуль рассчитан на файловую систему, поддерживающую файлы с вилками, поэтому его не следует использовать на разделах UFS.

> **Примечание**
>
> Этот модуль удалён в Python 3.

Модуль [`macostools`](https://python-all.ru/2.7/library/macostools.html#module-macostools) определяет следующие функции:

#### `macostools.copy(src, dst[, createpath[, copytimes]])`

Копирует файл *src* в *dst*. Если *createpath* не равен нулю, папки, ведущие к *dst*, создаются при необходимости. Метод копирует данные и ресурсную вилку, а также некоторую информацию Finder (создатель, тип, флаги) и, опционально, время создания, изменения и резервного копирования (по умолчанию копируются). Пользовательские значки, комментарии и положение значка не копируются.

> **Примечание**
>
> Эта функция не работает в 64-битном коде, так как использует API, недоступные в 64-битном режиме.

#### `macostools.copytree(src, dst)`

Рекурсивно копирует дерево файлов из *src* в *dst*, создавая папки по мере необходимости. *src* и *dst* должны быть указаны как пути.

> **Примечание**
>
> Эта функция не работает в 64-битном коде, так как использует API, недоступные в 64-битном режиме.

#### `macostools.mkalias(src, dst)`

Создаёт псевдоним Finder *dst*, указывающий на *src*.

> **Примечание**
>
> Эта функция не работает в 64-битном коде, так как использует API, недоступные в 64-битном режиме.

#### `macostools.touched(dst)`

Сообщает Finder, что некоторые фрагменты информации Finder, такие как создатель или тип для файла *dst*, изменились. Файл может быть указан путём или fsspec. Этот вызов должен заставить Finder перерисовать значок файла.

Устарело с версии 2.6: Функция ничего не делает на OS X.

#### `macostools.BUFSIZ`

Размер буфера для `copy`, по умолчанию 1 мегабайт.

Обратите внимание, что процесс создания псевдонимов Finder не описан в документации Apple. Следовательно, псевдонимы, созданные с помощью [`mkalias()`](https://python-all.ru/2.7/library/macostools.html#macostools.mkalias), потенциально могут иметь несовместимое поведение в некоторых случаях.

# 37.4. [`findertools`](https://python-all.ru/2.7/library/macostools.html#module-findertools) – Интерфейс Apple Events **Finder**

Этот модуль содержит процедуры, предоставляющие программам Python доступ к некоторым функциям Finder. Они реализованы как обёртки вокруг интерфейса AppleEvent для Finder.

Все параметры файлов и папок могут быть указаны либо как полные пути, либо как объекты `FSRef` или `FSSpec`.

Модуль [`findertools`](https://python-all.ru/2.7/library/macostools.html#module-findertools) определяет следующие функции:

#### `findertools.launch(file)`

Сообщает Finder запустить *file*. Значение запуска зависит от файла: приложения запускаются, папки открываются, а документы открываются в соответствующем приложении.

#### `findertools.Print(file)`

Сообщает Finder распечатать файл. Поведение идентично выбору файла и использованию команды печати в меню файлов Finder.

#### `findertools.copy(file, destdir)`

Сообщает Finder скопировать файл или папку *file* в папку *destdir*. Функция возвращает объект `Alias`, указывающий на новый файл.

#### `findertools.move(file, destdir)`

Сообщает Finder переместить файл или папку *file* в папку *destdir*. Функция возвращает объект `Alias`, указывающий на новый файл.

#### `findertools.sleep()`

Сообщает Finder перевести Macintosh в спящий режим, если это поддерживается машиной.

#### `findertools.restart()`

Сообщает Finder выполнить упорядоченную перезагрузку машины.

#### `findertools.shutdown()`

Сообщает Finder выполнить упорядоченное выключение машины.
