批量替换文件 关键字小脚本 python3

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)
上一篇:Oracle VM virtualBox 安装 CentOS7的增强功能的一些问题


下一篇:SELinux影响“无法打开流:权限被拒绝”PHP错误