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

yipeiwu_com6年前Python基础

题目:

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 os
import shutil
def 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 os
import re
import shutil
def 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文件操作中进行字符串替换的方法(保存到新文件/当前文件) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python实现手机销售管理系统

python实现手机销售管理系统

本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下 要求如下: 手机销售系统     手机品牌 ...

python实现系统状态监测和故障转移实例方法

复制代码 代码如下:#coding: utf-8import socketimport selectimport timeimport osimport threading def se...

python操作小程序云数据库实现简单的增删改查功能

python操作小程序云数据库实现简单的增删改查功能

不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能...

python如何实现int函数的方法示例

前言 拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法 python已经实现了int方法,我们为什么还要再写一遍,直接用不就好...

Python内置函数的用法实例教程

本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下: 一般来说,在Python中内置了很多有用的函数,我们可以直接调用。 而要调用一个函数,就需要...