私は Python を使用するのに非常に慣れておらず、C に非常に慣れていません。
データを含む .dat ファイルを作成する C の関数があります。ファイルを読み取るためにPythonを使用してファイルを開いています。私が読む必要があるものの 1 つは、C 関数で作成され、バイナリで出力された構造体です。私の Python コードでは、構造体を読み取るファイルの適切な行にいます。スタクト アイテムをアイテムごとに解凍しようとしましたが、全体として成功しませんでした。構造体の項目のほとんどは、C コードで「実数」と宣言されていました。私は他の誰かと一緒にこのコードに取り組んでおり、メインのソース コードは彼のもので、変数を「本物」として宣言しています。「.dat」で終わるディレクトリ内のすべてのファイルを読み取りたいため、これをループに入れる必要があります。私が持っているループを開始するには:
for files in os.listdir(path):
if files.endswith(".dat"):
part = open(path + files, "rb")
for line in part:
次に、構造体を含む行の前のすべての行を読み取ります。次に、その行に到達して、次のようにします。
part_struct = part.readline()
r = struct.unpack('<d8', part_struct[0])
構造体に格納されている最初のものを読み取ろうとしています。ここのどこかでこの例を見ました。そして、これを試してみると、次のエラーが表示されます。
struct.error: repeat count given without format specifier
私は誰かが私に与えることができるあらゆるヒントを取り入れます。私はこれに数日間立ち往生しており、さまざまなことを試しました。正直なところ、私は struct モジュールを理解していないと思いますが、できる限り読んだことがあります。
ありがとう!