0

MicrosoftVARIANTを使用する Python でファイルを読み取る必要があります(Microsoft のコードについてはよくわかりません:S)。基本的に、これを実行できるpythonパッケージがあるかどうかを知りたいです。

説明するために-私が読もうとしているファイルは{ 2-byte integer, <data> }、2バイトの整数が何であるかを指定する、何度も繰り返される一連のファイルです<data>

2 バイトの整数は、VARIANT の Microsoft データ型に対応しています: VT_I2VT_I4など。この型に基づいて<data>、適切な Python オブジェクトを読み取って強制するコードを記述できます。

私の現在の試みは次のとおりです。

while dtype = file.read(2):
    value = None

    # translate dtype (I've put in VT_XX myself to match up with Microsoft)
    if dtype == VT_I2:
        value = file.read(2)
    elif dtype == VT_I4:
        value = file.read(4)
    # ... and so on for other types

    # append value to the list of values

# return the values we read
return values

問題は、一部のバイトを適切な Python オブジェクト (たとえばVT_BSTRVT_DECIMALVT_DATE) に変換する方法がわかりません。ただし、さらに試す前に、このロジックを実行する既存のpythonパッケージがあるかどうかを知りたいです(つまり、ファイルオブジェクト/バイトを取り込んで、それを一連のpythonオブジェクトに解析します。float、int、日付、文字列、...)。

これはかなり一般的なことのようです。ただし、Microsoft コードについて何も知らず、適切なグーグルを行うための用語がないため、それを行うためのパッケージを探すのに苦労しています。(関連する場合、私は LINUX を実行しています)。

4

1 に答える 1

0

pywin32 のwin32comパッケージはまさにそれを行います。ドキュメンテーションは非常に不十分ですが、基本的な使用方法を説明する variant.html が多数含まれており、オンラインで多くのチュートリアルとリファレンスが提供されています。

于 2012-07-30T02:42:13.037 に答える