#!/usr/bin/python
import os
import sys
import shutil
tmp_path = "struct"#临时文件夹,执行本脚本前随意创建
path_to_process = sys.argv[1]#需要批量修改的源文件所在路径,
def traverse_process(path):
if not os.path.exists(path):
print("No Such Path: " + path)
return
if os.path.isfile(path):
print("to replace: " + path)
tmp_output_file = os.path.join(tmp_path,"tmp_" + os.path.basename(path))
print("tmp file: " + tmp_output_file)
if os.path.exists(tmp_output_file):
os.remove(tmp_output_file)
output = open(tmp_output_file, 'w')
with open(path,'r') as f:
# irow = 0
for line in f.readlines():
# irow = irow + 1
# if "#ifndef" in line and irow == 1:
# output.write('#ifndef _'+each_proto_file.replace('.','_').upper()+'_\n')
# elif "#define" in line and irow == 2:
# output.write('#define _'+each_proto_file.replace('.','_').upper()+'_\n')
# elif 'void CopyFrom(const ' in line and 'void CopyFrom(const _' not in line:
# output.write(line.replace('void CopyFrom(const ','void CopyFrom(const _')+'\n')
if line.strip().split(' ')[0] == 'const' and line.split(' ').count('const') == 1:
print('old ***' + line)
output.write(line.replace(') {',') const {')+'\n')
print('new ***' + line.replace(') {',') const {'))
else:
output.write(line)
f.close()
output.close()
print(tmp_output_file + '->' + path)
# shutil.move(tmp_output_file,path) #struct 下临时文件覆盖源文件
else:
print("folder: "+os.path.basename(path))
for sub_names in os.listdir(path):
traverse_process(os.path.join(path,sub_names))
python 递归遍历并处理路径下文件
最新推荐文章于 2024-07-12 19:30:19 发布