import re
import os
import glob
# search all files inside a specific folder
# *.* means file name with any extension
dir_path = r'E:/pbrt-v3/src/**\*.*'
for file in glob.glob(dir_path, recursive=True):
if not file.endswith(('.h', '.cpp', '.c', '.hpp')):
print("file_name, ", file)
continue
file_content = ''
try:
with open(file, 'r', encoding='utf-8') as file_obj:
flag = 0
for line in file_obj:
file_content += line
if flag == 0 and re.match(r'.*class.*', line):
print(line.split(' ')[1])
flag = 1
elif flag ==1 and (re.match(r'.*public:.*', line) or re.match(r'.*private:.*', line) or re.match(r'.*protected:.*', line)):
flag = 2
file_content += "CLASS_FINED"
except:
print('error catched', file)
continue
with open(file, 'w', encoding='utf-8') as file_obj:
file_obj.write(file_content)
python class中插入代码
于 2023-05-29 23:00:58 首次发布
该脚本在E:/pbrt-v3/src目录下搜索所有非.h,.cpp,.c,.hpp文件,读取内容,寻找类定义。当找到类定义行时,打印出类名,并在找到访问修饰符(public,private,protected)时标记类定义结束,最后将修改后的内容写回文件。
2699

被折叠的 条评论
为什么被折叠?



