Итак, у меня есть двоичный файл, который я хочу проанализировать.В этом файле у меня есть заголовок, а заголовок определяет, как структурируется остальная часть файла.
Например, файл будет выглядеть следующим образом (как макет):
Version_Number = 001
File_Type = config
Number_of_struct_A = 4
Number_of_struct_B = 3
struct_A
struct_A
struct_A
struct_A
struct_B
struct_B
struct_B
И до сих пор я могу прочитать первую структуру в моем файле, как показано в этом примере: Анализ двоичных данных в объекте ctypes Structure через readinto ()
Так, например, у меня будут следующие типы структур:
class FileInfo(Structure):
_fields_ = [("Versions_Nr", c_byte),
("File_Typ", c_byte),
("Number_of_struct_A", c_byte),
("Number_of_struct_B", c_byte)]
class Struct_A(Structure):
_fields_ = [("A", c_byte),
("B", c_byte),
]
class Struct_B(Structure):
_fields_ = [("C", c_byte),
("D", c_byte),
]
#read in my file
file = open('test.cfg', 'rb')
header = FileInfo()
file.readinto(header)
print(header.Number_of_struct_A)
Так что это даст мне заголовок, но я понятия не имею, как мне сохранить данные из моего файла,так что я могу использовать информацию о количестве структур, которые я только что получил.Или в этом отношении, как хранить данные вообще, поскольку чтение файла снова и снова, кажется, не является хорошим вариантом.
Надеюсь, мой вопрос понятен.