私はpython win32comベースのStgCreateStorageExを使用して、testStorage.pyのコードを適応させて、独自のfile_id属性を任意のファイルに書き込みます。
代替ストリーム(必ずしもこの API 呼び出しからではありませんが) によると、ディレクトリ/フォルダーに保存できるはずですが、フラグを変更するとさまざまなエラーが発生します。
from win32com import storagecon
import pythoncom, os, win32api
fname = r"c:\temp\test\test.txt" #works
fname = r"c:\temp\test\test2"
def testit():
m=storagecon.STGM_READWRITE | storagecon.STGM_SHARE_EXCLUSIVE
pss=pythoncom.StgOpenStorageEx(fname, m, storagecon.STGFMT_FILE, 0, pythoncom.IID_IPropertySetStorage)
結果:
pywintypes.com_error: (-2147024895、「関数が正しくありません。」、なし、なし)
編集: これを WinXP、Win7、および Windows Server 2003/R2 の両方で動作させる方法について何か提案はありますか?
最終結果は必ずしもこの API を使用する必要がないことに注意してください。Python から効率的に実行できる必要があるだけです。効率的とは、多くの異なるテクノロジー層を経由しないことを意味します。