将C语言的fread(&struct,....)移植到Python
嘿,我现在遇到了一些困难。我正在尝试把别人的一小段代码移植到Python中,这就是我现在的代码:
typedef struct
{
uint8_t Y[LUMA_HEIGHT][LUMA_WIDTH];
uint8_t Cb[CHROMA_HEIGHT][CHROMA_WIDTH];
uint8_t Cr[CHROMA_HEIGHT][CHROMA_WIDTH];
} __attribute__((__packed__)) frame_t;
frame_t frame;
while (! feof(stdin))
{
fread(&frame, 1, sizeof(frame), stdin);
// DO SOME STUFF
}
之后我需要像这样访问数据:frame.Y[x][y]
所以我在Python中创建了一个名为'frame'的类,并插入了相应的变量(frame.Y, frame.Cb, frame.Cr)。我尝试将数据从Y[0][0]顺序映射到Cr[MAX][MAX],甚至打印出了C语言的结构体在运行时的样子,但就是没能搞明白是怎么把数据放进去的。我昨晚一直在为这个问题苦恼,今晚还得回军队,所以任何能立即提供的帮助我都非常欢迎和感激。
谢谢