python 對文件內容進行數字替換


數據:

SET_MODEL_START_INDEXTABLE( MODEL_INDEX1 + 0, MODELCONFIG.Name, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 1, MODELCONFIG.CombinedModel.IsOn, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 2, MODELCONFIG.CombinedModel.IsPrompt, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 3, MODELCONFIG.CombinedModel.Switch.Type, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 3, MODELCONFIG.CombinedModel.Switch.ID, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 3, MODELCONFIG.CombinedModel.Switch.Event, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 3, MODELCONFIG.CombinedModel.Switch.SteplessSwitch.Position, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 3, MODELCONFIG.CombinedModel.Switch.SteplessSwitch.Threshold, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 4, MODELCONFIG.CombinedModel.Num, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 7, MODELCONFIG.MainMenu[0].Hide, 40, 1 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 8, MODELCONFIG.MainMenu[0].ID, 40, 1 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 9, MODELCONFIG.SelectedDispChannels, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 105, MODELCONFIG.Timers.Model.IsOn, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 106, MODELCONFIG.Timers.Model.Counter, 0, 0 ),
SET_MODEL_HOLD_INDEXTABLE( MODEL_INDEX1 + 107, MODELCONFIG.Timers.MultiTimer.Voice, 0, 0 ),





import re

filename = 'set1.txt'
# 自增數字
i = 0

# 准備空字符串,存新數據
file_data = ""

# 找到數字 替換
with open(filename, "r", encoding="utf-8") as f:
for line in f:
old_str = line.split()[3].strip(',')
print(old_str)
# 用正則查找
# old_str = re.findall(r'\+ \d*', line)[0].replace("+", "").strip()
if old_str in line:
line = line.replace(old_str, str(i))
i += 1
file_data += line

# 寫入
with open(filename, "w", encoding="utf-8") as f:
f.write(file_data)



對文件內容按數字進行排序
print(''.join(sorted(open('set1.txt'), key=lambda s: int(s.split()[3].strip(',')))))



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM