我對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