38.3. aepack — Python変数とAppleEventデータコンテナ間の変換—Pythonドキュメント
38.3。 aepack —Python変数とAppleEventデータコンテナ間の変換
aepack モジュールは、Python変数をAppleEvent記述子に変換(パック)し、元に戻す(アンパック)ための関数を定義します。 Python内では、AppleEvent記述子は、モジュール Carbon.AE で定義されている組み込み型AEDesc
のPythonオブジェクトによって処理されます。
ノート
このモジュールはPython3.xで削除されました。
aepack モジュールは、次の関数を定義します。
- aepack.pack(x[, forcetype])
Python値xの変換を含む
AEDesc
オブジェクトを返します。 forcetype が指定されている場合は、結果の記述子タイプを指定します。 それ以外の場合は、次のように、PythonタイプからAppleイベント記述子タイプへのデフォルトのマッピングが使用されます。Pythonタイプ
記述子タイプ
FSSpec
typeFSS
FSRef
typeFSRef
Alias
typeAlias
整数
typeLong(32ビット整数)
浮く
typeFloat(64ビット浮動小数点)
ストリング
typeText
ユニコード
typeUnicodeText
リスト
typeAEList
辞書
typeAERecord
実例
下記参照
x がPythonインスタンスの場合、この関数は
__aepack__()
メソッドを呼び出そうとします。 このメソッドは、AEDesc
オブジェクトを返す必要があります。変換 x が上記で定義されていない場合、この関数は、テキスト記述子としてエンコードされた値のPython文字列表現(repr()関数)を返します。
- aepack.unpack(x[, formodulename])
x は、タイプ
AEDesc
のオブジェクトである必要があります。 この関数は、Appleイベント記述子 x のデータのPythonオブジェクト表現を返します。 単純なAppleEventデータ型(整数、テキスト、浮動小数点数)は、明らかなPythonの対応物として返されます。 AppleイベントリストはPythonリストとして返され、リスト要素は再帰的に解凍されます。 オブジェクト参照(例:line 3 of document 1
)は、formodulename
が指定されていない限り、 aetypes.ObjectSpecifier のインスタンスとして返されます。 記述子タイプtypeFSSのAppleEvent記述子は、FSSpec
オブジェクトとして返されます。 AppleEventレコード記述子は、4文字の文字列キーと要素が再帰的に解凍されたPython辞書として返されます。オプションの
formodulename
引数は、 gensuitemodule によって生成されたスタブパッケージによって使用され、オブジェクト指定子のOSAクラスが正しいモジュールで検索されるようにします。 これにより、たとえば、Finderがウィンドウのオブジェクト指定子を返す場合、ジェネリックaetypes.Window
ではなくFinder.Window
のインスタンスを取得できます。 前者はウィンドウがFinderに持つすべてのプロパティと要素について知っていますが、後者はそのようなことを知りません。