首页 > 编程 > Python > 正文

Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)

2019-11-25 12:35:53
字体:
来源:转载
供稿:网友

题目:

1.首先将文件:/etc/selinux/config 进行备份 文件名为 /etc/selinux/config.bak

2.再文件:/etc/selinux/config 中的enforcing 替换为 disabled

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#   enforcing - SELinux security policy is enforced.#   permissive - SELinux prints warnings instead of enforcing.#   disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three two values:#   targeted - Targeted processes are protected,#   minimum - Modification of targeted policy. Only selected processes are protected. #   mls - Multi Level Security protection.SELINUXTYPE=enforcing

•方法一:用replace

import osimport shutildef selinux_config():  """  关闭SELINUX  修改文件内容  :return:  """  file_selinux = '/etc/selinux/config'  backup_file_selinux = file_selinux + '.bak'  temp_file_selinux = file_selinux + '.temp'  if not os.path.exists(backup_file_selinux):    shutil.copy2(file_selinux, backup_file_selinux)    with open(file_selinux, mode='r') as fr, open(temp_file_selinux, mode='w') as fw:      origin_line = 'SELINUX=enforcing'      update_line = 'SELINUX=disabled'      for line in fr:        fw.write(line.replace(origin_line, update_line))    os.remove(file_selinux)    os.rename(temp_file_selinux, file_selinux)if __name__ == '__main__':  selinux_config()

•方法二:用re.sub

#! /usr/bin/env python# -*- coding: utf-8 -*-import osimport reimport shutildef selinux_config():  """  关闭SELINUX  修改文件内容  :return:  """  file_selinux = '/etc/selinux/config'  backup_file_selinux = file_selinux + '.bak'  temp_file_selinux = file_selinux + '.temp'  if not os.path.exists(backup_file_selinux):    shutil.copy2(file_selinux, backup_file_selinux)    with open(file_selinux, mode='r') as fr, open(temp_file_selinux, mode='w') as fw:      origin_line = 'SELINUX=enforcing'      update_line = 'SELINUX=disabled'      for line in fr:        re_sub_list = re.sub(origin_line, update_line, line) # 这里用re.sub进行替换后放入 re_sub_list中        fw.writelines(re_sub_list) # 将列表中的每一行进行写入。writelines是将序列对象中的每一行进行写入。    os.remove(file_selinux)    os.rename(temp_file_selinux, file_selinux)if __name__ == '__main__':  selinux_config()

总结

以上所述是小编给大家介绍的Python文件操作中进行字符串替换的方法(保存到新文件/当前文件) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表