88 lines
2.1 KiB
Python
Executable File
88 lines
2.1 KiB
Python
Executable File
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)
|
||
|