# 10. `macostools` -- Convenience routines for file manipulation

Availability: Macintosh.

This module contains some convenience routines for file-manipulation on the Macintosh.

The `macostools` module defines the following functions:

`copy` (src, dst[, createpath[, copytimes]])
  Copy file src to dst. The files can be specified as pathnames or FSSpec objects. If createpath is non-zero dst must be a pathname and the folders leading to the destination are created if necessary. The method copies data and resource fork and some finder information (creator, type, flags) and optionally the creation, modification and backup times (default is to copy them). Custom icons, comments and icon position are not copied.

  If the source is an alias the original to which the alias points is copied, not the aliasfile.

`copytree` (src, dst)
  Recursively copy a file tree from src to dst, creating folders as needed. src and dst should be specified as pathnames.

`mkalias` (src, dst)
  Create a finder alias dst pointing to src. Both may be specified as pathnames or FSSpec objects.

`touched` (dst)
  Tell the finder that some bits of finder-information such as creator or type for file dst has changed. The file can be specified by pathname or fsspec. This call should prod the finder into redrawing the files icon.

`BUFSIZ`
  The buffer size for `copy`, default 1 megabyte.

Note that the process of creating finder aliases is not specified in the Apple documentation. Hence, aliases created with `mkalias()` could conceivably have incompatible behaviour in some cases.