MicrosoftVARIANT
を使用する Python でファイルを読み取る必要があります(Microsoft のコードについてはよくわかりません:S)。基本的に、これを実行できるpythonパッケージがあるかどうかを知りたいです。
説明するために-私が読もうとしているファイルは{ 2-byte integer, <data> }
、2バイトの整数が何であるかを指定する、何度も繰り返される一連のファイルです<data>
。
2 バイトの整数は、VARIANT の Microsoft データ型に対応しています: VT_I2
、VT_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_BSTR
、VT_DECIMAL
、VT_DATE
) に変換する方法がわかりません。ただし、さらに試す前に、このロジックを実行する既存のpythonパッケージがあるかどうかを知りたいです(つまり、ファイルオブジェクト/バイトを取り込んで、それを一連のpythonオブジェクトに解析します。float、int、日付、文字列、...)。
これはかなり一般的なことのようです。ただし、Microsoft コードについて何も知らず、適切なグーグルを行うための用語がないため、それを行うためのパッケージを探すのに苦労しています。(関連する場合、私は LINUX を実行しています)。