import os import re def selinux_config(file): """ 关闭SELINUX 修改文件内容 :return: """ file_selinux = file temp_file_selinux = file_selinux + '.temp' with open(file_selinux, mode='r') as fr, open(temp_file_selinux, mode='w') as fw: origin_line = 'INFO' update_line = 'ERROR' for line in fr: fw.write(line.replace(origin_line, update_line)) os.remove(file_selinux) os.rename(temp_file_selinux, file_selinux) file_list = list() # 将查找出的文件存放在列表中 def find_file(file_path): """ 获取目录下的所有文件,返回一个列表 :param file_path: :return: """ if os.path.isfile(file_path): # 判断是否为文件,此为基例,递归终止点 file_list.append(file_path) else: # 如果是目录,执行下边的程序 for file_ls in os.listdir(file_path): # 循环目录中的文件 find_file(os.path.join(file_path, file_ls)) # 再次判断目录中的文件,实现递归,函数调用函数本身 return file_list # 返回最终的文件列表 def match_file(filename, file_list): """ 过滤含有关键词的文件列表 :param filename: :param file_list: :return: """ match_result = [] for file in file_list: if re.search(filename, file): match_result.append(file) return match_result if __name__ == '__main__': # selinux_config() file_list = find_file("F:\\车\\testcase\\ICTS_Hubble_Testcases\\trunk_test\\self-developed\\icc\\") dds_icc_config = match_file("dds_icc", file_list) for f in dds_icc_config: selinux_config(f)