我对Python真的很陌生,我正在尝试构建一个脚本来更改#define变量的值。 我的代码似乎工作,但它遗失输出文件的C缩进。 那么我该如何解决空白问题呢? 任何建议比我更聪明的实施将不胜感激!替换C文件中的#define值的Python脚本
KEYWORDS=["PERIOD","PWM_RATE","DUTY_OFFSET","MAX_DUTY"]
VALS=[3,3,3,3]
import re
f1 = open('../src/in.c','r')
f2 = open('../src/out.xc','w')
for line in f1:
s=line.split()
if len(s)> 1 and s[1] in KEYWORDS:
s[2] = VALS[1]
f2.write(' '.join(s)+'\n')
f1.close()
f2.close()
是的,这就是我的意思,对不起。我有另一个错误,我应该将替换的返回值赋给原始字符串,在它应该工作之后,我将编辑我的帖子。 – anana
Thanx的快速反应,但我仍然得到一个定义线,如 ** #define PERIOD 2 \t \t \t 5000000 **这将是正确的,如果我们以某种方式删除“** 2 ** – Dimitris
我不是我确信我明白了这个问题,但是我在替换行中存在一个缺失的缺陷,我修复了它,代码适用于我。对于错误 – anana