Files
phs_v1.0.1.0/replace_file.py

88 lines
2.1 KiB
Python
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import sys
# 导入要修改的文件列表
from remove_file import src_files
# 找到文件列表中的所有源文件
def list_type_files(file_list:list,tail:str):
src_list=[]
for item in file_list:
if(str(item).endswith(tail)):
src_list.append(item)
return src_list
# 生成要修改的文件名称列表
def create_modify_name(file_list:list):
modify_name=[]
for item in file_list:
sp=os.path.split(item)
if(sp[-1].startswith('iot_')):
path=os.path.join(sp[0],sp[-1].replace('iot_','sw_'))
modify_name.append((item,path))
return modify_name
# 修改名称
def file_list_rename(rename_list:list):
for src,dst in rename_list:
os.rename(src,dst)
# 生成要修改的头文件字符串
def create_modify_strings(modify_files:list):
modify_list=[]
for src,dst in modify_files:
ps_src=os.path.split(src)[-1]
ps_dst=os.path.split(dst)[-1]
if(ps_src.endswith('.h')):
modify_list.append((ps_src,ps_dst))
return modify_list
# 修改源文件中的include
def modify_include(file_list:list,replace_list:list):
for item in file_list:
try:
with open(item,mode='r') as f:
lines=f.readlines()
except Exception as e:
print(e)
print(f"file {item} open failed.")
continue
for replace in replace_list:
for i in range(len(lines)):
if(lines[i].startswith("#include")):
lines[i]=lines[i].replace(replace[0],replace[1])
with open(item,mode='w+') as f:
for item in lines:
f.write(item)
if __name__ == "__main__":
# 第一步,生成需要修改的文件列表
md_files=create_modify_name(src_files)
# for item in md_files:
# print('---')
# print(item[0])
# print(item[1])
# 第二步生成需要修改的include替换列表
md_string_list=create_modify_strings(md_files)
# for item in md_string_list:
# print('---')
# print(f"{item[0]},{item[1]}")
# 第三步修改源文件中的inlude
modify_include(src_files,md_string_list)
# 第四步,修改文件名
file_list_rename(md_files)