python读取C语言头文件

在使用python编程过程中,经常需要对C语言文件进行操作,即.h文件进行读取操作,这里举例说明,python读取C语言头文件,提取其中#define 宏定义

废话少说,上代码

import os
import re

def loadFromC(fn,addr):
	reg_file = open(fn)
	for line in reg_file.readlines():
		m = re.match(r"#define(\s+)",line)
		if m:
			x = m.group(0)
			s = len(x)
			line = line[s:]
			m = re.match(r"(\S+)",line)
			if m:
				x = m.group(0)
				s = len(x)
				line = line[s:]
				#print x,line
				m = re.match(r"\s+0x",line)
				if m:
					s = len(m.group(0))
					a = int(line[s:s+8],16)
					addr[x]=a
	return addr


addr = {}
path = os.path.split(os.path.realpath(__file__))[0]


fn = path+"\\spi.h"
addr = loadFromC(fn,addr)

print (addr)

windows下使用IDLE测试如下图所示,将spi.h的#define宏都提取出来,方便后面使用

python读取C语言头文件_第1张图片

测试工程上传

python读取C语言头文件测试用例,参考博客,有详细说明-嵌入式文档类资源-CSDN文库

你可能感兴趣的:(嵌入式系统,python,python读取头文件,python读取C语言头文件)