37.3. macostools — ファイル操作を便利にするルーチン集

このモジュールには、Macintosh 上でのファイル操作を便利にするためのルーチンがいくつか入っています。全てファイルパラメタは、パス名か FSRef または FSSpec オブジェクトで指定できます。このモジュールは、リソースフォークつきファイル (forked file) をサポートするファイルシステムを想定しているので、UFS パーティションに使ってはなりません。

注釈

このモジュールは Python 3 で削除されました。

macostools モジュールでは以下の関数を定義しています。

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

ファイル srcdst へコピーします。 createpath が真なら、必要に応じて dst に至るまでのフォルダを作成します。このメソッドはデータとリソースフォーク、そしていくつかのファインダ情報 (クリエータ、タイプ、フラグ) をコピーします。オプションの copytypes を指定すると、作成日、修正日、バックアップ日の情報のコピー (デフォルトではコピーします) を制御できます。カスタムアイコン、コメント、アイコン位置はコピーされません。

注釈

この関数は 64 bit モードで利用できない API を使用するので、 64 bit のコードでは動きません。

macostools.copytree(src, dst)

src から dst へ再帰的にファイルのツリーをコピーします。必要に応じてフォルダを作成してゆきます。 srcdst はパス名で指定しなければなりません。

注釈

この関数は 64 bit モードで利用できない API を使用するので、 64 bit のコードでは動きません。

macostools.mkalias(src, dst)

src を示すファインダエイリアス dst を作成します。

注釈

この関数は 64 bit モードで利用できない API を使用するので、 64 bit のコードでは動きません。

macostools.touched(dst)

ファイル dst のクリエータやタイプなどのファインダ情報が変わったことをファインダに知らせます。ファイルはパス名か FSSpec で指定できます。この呼び出しは、ファインダにアイコンを再描画させるよう命令します。

バージョン 2.6 で撤廃: この関数は OS X では何もしません。

macostools.BUFSIZ

copy に用いるバッファサイズで、デフォルトは 1 メガバイトです。

Apple のドキュメントでは、ファインダエイリアスの作成プロセスを規定していません。そのため、 mkalias() で作成したエイリアスが互換性のない振る舞いをする可能性があるので注意してください。

37.4. findertoolsfinder のApple Events インターフェース

このモジュールのルーチンを使うと、Python プログラムからファインダが持ついくつかの機能へアクセスできます。これらの機能はファインダへの AppleEvent インタフェースのラッパとして実装されています。

全てのファイルとフォルダのパラメータは、フルパス名、あるいは FSRefFSSpec オブジェクトで指定できます。

findertools モジュールは以下の関数を定義しています。

findertools.launch(file)

ファインダに file を起動するように命令します。起動が意味するものは file に依存します。アプリケーションなら起動しますし、フォルダなら開かれ、文書なら適切なアプリケーションで開かれます。

findertools.Print(file)

ファインダにファイルを印刷するよう命令します。実際の動作はファイルを選択し、ファインダのファイルメニューから印刷コマンドを使うのと同じです。

findertools.copy(file, destdir)

ファインダにファイルかフォルダである file をフォルダ destdir にコピーするよう命令します。この関数は新しいファイルを示す Alias オブジェクトを返します。

findertools.move(file, destdir)

ファインダにファイルかフォルダである file をフォルダ destdir に移動するように命令します。この関数は新しいファイルを示す Alias オブジェクトを返します。

findertools.sleep()

マシンがサポートしていれば、ファインダに Macintosh をスリープさせるよう命令します。

findertools.restart()

ファインダに、マシンを適切に再起動するよう命令します。

findertools.shutdown()

ファインダに、マシンを適切にシャットダウンするよう命令します。