如何在Python中读取类似于C的文件头?

5 python file-io header

我是Python的新手.我是一名专业的C程序员.我有文件,其标题有一些特定的数据,我需要提取.例如,Byte 0-5有魔法,Byte 6-8有偏移等.

在C(例子)中:

struct {  
   int32_t payload_offset,  
   int32_t len,  
   char *magic,  
   int32_t type  
   int32_t header_size  
} file_hdr;  
Run Code Online (Sandbox Code Playgroud)

然后在我的函数中,我执行以下操作:

file_hdr *hdr;
ptr = &hdr;
fd = open(path_to_file, "r");
num_read =  read(fd, ptr, bytes). 
Run Code Online (Sandbox Code Playgroud)

然后我可以访问标题数据,如ptr-> type,ptr-> magic等.

如何在Python中实现类似的效果?由于Python变量没有类型,访问文件头数据的最佳方法是什么?

我需要使用标题数据做出一些决定.

提前致谢.

aby*_*byx 6

一种方法是使用python struct模块,docs在这里.
如果你需要更强大的东西,另一个选择是使用可以执行上述操作的真棒构造库等等.