下面的脚本是从文件夹中读取特定数据,筛选之后,存入新文件;对数据筛选很有帮助
import os
# python路径必须增加 r或者用 \\,不然会识别为 转义符号
path1 = r'C:\Users\abc\Desktop\test\brd'
# 新建一个文件,用来保存我们想要的数据
read_file = open("read.txt", "w+",encoding='utf-8')
for file_name in os.listdir(path1):
# 路径+文件名
brd_name = path1+'\\'+file_name
# 将windos的路径中 \替换为/
change_brd_name = brd_name.replace("\\","/")
# print(change_brd_name)
# 注意观察一下文件格式,及时调整打开方式
with open(change_brd_name,'r',encoding='utf-8') as file_brd:
for content in file_brd.readlines():
# 去掉字符串头尾的空格
content = content.strip()
# 读取特定字符串开头的行, 并且该行中需要包含'(',不包含 '///<'
if (((content.find('Int32', 0) == 0) or (content.find('UInt32', 0) == 0)
or (content.find('Int16', 0) == 0) or (content.find('UInt16', 0) == 0)
or (content.find('Int8', 0) == 0) or (content.find('UInt8', 0) == 0)
or (content.find('Bool', 0) == 0) or (content.find('void', 0) == 0)
) and (content.find('(', 0) > 0) and (content.find('//', 0) < 0)):
# 将筛选的字符串用 ' '分割,并取字符串列表中索引值为1的数据
func_name = content.split(' ')[1]
# 继续用 '(' 分割,并取字符串列表中索引为0的元素
func_name2 = func_name.split('(')[0]
# 最后,将我们想要的数据打印出来;如果不对的花,再继续增加判断条件或者取值条件
print(func_name2)
# 将取出来的数据,加上换行符,写入到文件中
func_name2 = func_name2 + '\n'
read_file.write(func_name2)
read_file.close()