在使用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语言头文件测试用例,参考博客,有详细说明-嵌入式文档类资源-CSDN文库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)