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)