# 2.3 `macfs` -- 各種のファイルシステムのサービス

利用可能な条件: Macintosh.

リリース 2.3 以降で撤廃された仕様です。 macfsモジュールは旧式のものです。`FSSpec`、`FSRef`、 `Alias`の代わりにCarbon.FileあるいはCarbon.Folderを使用し てください。ファイルダイアログには`EasyDialogs`を使用してください。

このモジュールはMacintosh FSSpecの操作、エイリアスマネージャ、finder エイリアス、標準ファイルパッケージへのアクセスを提供します。

関数やメソッドがfile引数をとる所では、引数は次の3つのうちのどれか1 つです。つまり、 (1) Macintoshのフルパス名あるいは部分パス名、(2) `FSSpec`オブジェクト、(3) Inside Macintosh: Filesに記述され た3要素のタプル`(wdRefNum, parID, name)`。 それを含むフォルダが存在する限り、`FSSpec`は存在しないファイルを示 すこともできます。 MacPythonではパス名も同じように使用できますが、パス名とFSRefsの働きの違 いのため、unix-Pythonでは異なります。詳しくはAppleの文書を参照してくださ い。

エイリアスと標準ファイルパッケージの詳細についてもその文書に書かれていま す。

`FSSpec`( | file)

  指定したファイルに対する`FSSpec`オブジェクトを作成します。

`RawFSSpec`( | data)

  文字列として`FSSpec`のC構造体の生データを与えると`FSSpec` オブジェクトを作成します。主に`FSSpec`構造体をネットワーク経由で得 る場合に便利です。

`RawAlias`( | data)

  文字列としてエイリアスのC構造体を生データとして与えると`Alias` オブジェクトを作成します。主に`FSSpec`構造体をネットワーク経由で得 る場合に便利です。

`FInfo`( | )

  ゼロで埋めた`FInfo`オブジェクトを作成します。

`ResolveAliasFile`( | file)

  エイリアスファイルを解決します(オリジナルのファイルとの対応を取りま す)。3要素のタプル`(fsspec, isfolder, aliased)`を返します。ここでfsspecは解決後の `FSSpec`オブジェクト、もしf sspecがフォルダを指していた らisfolderはtrue、もしエイリアスだったらaliasedはtrue(そ うでなければファイルそのものの`FSSpec`オブジェクトが返されます)で す。

`StandardGetFile`( | [type, ...])

  ユーザに標準的な``入力ファイルを開く''ダイアログを提示します。オプション として、4つまでの4文字のファイルタイプを渡すことができて、ユーザーが選ぶ ファイルを制限することができます。この関数は`FSSpec`オブジェクト と、ユーザがキャンセルしないでダイアログを完了したかを示すフラグを返しま す。

`PromptGetFile`( | prompt[, type, ...])

  `StandardGetFile()`とほぼ同じですが、ダイアログの一番上に表示さ れるプロンプトを指定できます。

`StandardPutFile`( | prompt[, default])

  ユーザに標準的な``出力ファイルを開く''ダイアログを提示します。 promptはプロンプト文字列で、省略可能なdefault引数で出力 ファイル名の初期値を指定します。この関数は`FSSpec`オブジェクト と、ユーザがキャンセルしないでダイアログを完了したかを示すフラグを返 します。

`GetDirectory`( | [prompt])

  ユーザに非標準的な``ディレクトリを選ぶ''ダイアログを提示します。 ``select current directory''ボタンをクリックするときには、選んだディ レクトリを開いていなくてはなりません。promptはプロンプト文字列 で、ダイアログの一番上に表示されます。`FSSpec`オブジェクトと、 ユーザがキャンセルしないでダイアログを完了したかを示すフラグを返しま す。

`SetFolder`( | [fsspec])

  ファイル選択ダイアログを提示する時に、最初に表示されるフォルダをセッ トします。fsspecで指定するのはそのフォルダにあるファイルであっ て、フォルダそのものではありません(指定されたファイルは存在していな くても構いません)。もし引数を渡さない場合は、フォルダはカレントディ レクトリ、つまり `os.getcwd()`で返されるディレクトリにセッ トされます。

  システム7.5から``一般設定''コントロールパネルで、ユーザが標準ファイ ルパッケージの振る舞いを変えられることに注意してください。その設定し だいでこの関数の呼びだしは効果がなくなります。

`FindFolder`( | where, which, create)

  MacOSが管理する``特別な''フォルダ、例えばゴミ箱や初期設定フォルダな どの位置を探しだします。whereは検索するディスク、whichは 探し出すフォルダを指定する4文字の文字列です。createをセットす ると、そのフォルダが存在しなければ新たに生成します。 `(vrefnum, dirid)`のタプルを返します。

  whereとwhichに与える定数は、標準モジュール Carbon.Foldersにあります。

`NewAliasMinimalFromFullPath`( | pathname)

  与えられたファイルを指す最短の`alias`オブジェクトを返します。 ファイルはフルパス名で与えなければなりません。これは存在しないファイ ルを指す`Alias`を作成する唯一の方法です。

`FindApplication`( | creator)

  4文字のクリエータコードcreatorを持ったアプリケーションの位置を 探し出します。この関数はアプリケーションを指す`FSSpec`オブジェ クトを返します。