添加一些可能有用的python脚本
This commit is contained in:
87
replace_file.py
Executable file
87
replace_file.py
Executable file
@@ -0,0 +1,87 @@
|
||||
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)
|
||||
|
Reference in New Issue
Block a user