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


Posted in Python onJune 28, 2019

题目:

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实现简单的循环购物车功能示例代码
Jul 05 Python
Python设计模式之门面模式简单示例
Jan 09 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
选择python进行数据分析的理由和优势
Jun 25 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Python将string转换到float的实例方法
Jul 29 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
wxPython之wx.DC绘制形状
Nov 19 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 Python
Python 实现微信自动回复的方法
Sep 11 Python
python压包的概念及实例详解
Feb 17 Python
python打开windows应用程序的实例
Jun 28 #Python
python中PS 图像调整算法原理之亮度调整
Jun 28 #Python
Python中的 is 和 == 以及字符串驻留机制详解
Jun 28 #Python
Python实现 PS 图像调整中的亮度调整
Jun 28 #Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 #Python
python启动应用程序和终止应用程序的方法
Jun 28 #Python
简单了解python高阶函数map/reduce
Jun 28 #Python
You might like
黑夜路人出的几道php笔试题
2009/08/04 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
详解JS数值Number类型
2018/02/07 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
Python的Flask框架中web表单的教程
2015/04/20 Python
Python微信库:itchat的用法详解
2017/08/14 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
python MD5加密的示例
2020/10/19 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
python openpyxl模块的使用详解
2021/02/25 Python
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
普通大学毕业生自荐信
2013/11/04 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
简单租房协议书
2014/10/21 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
早上好问候语大全
2015/11/10 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
浅析MySQL如何实现事务隔离
2021/06/26 MySQL