目次

前のトピックへ

37.2. MacOS — Mac OS インタプリタ機能へのアクセス

次のトピックへ

37.5. EasyDialogs — 基本的な Macintosh ダイアログ

このページ

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

プラットフォーム: Mac

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

警告

このモジュールは 3.0 で削除されます。

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

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

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

macostools.copytree(src, dst)

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

macostools.mkalias(src, dst)

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

macostools.touched(dst)

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

バージョン 2.6 で撤廃: この関数は OS X では no-op です。

macostools.BUFSIZ

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

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

37.4. findertools — finder のApple Eventsインターフェース

プラットフォーム: Mac

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

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()

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