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获取从命令行输入数字的方法
Apr 29 Python
Python中用altzone()方法处理时区的教程
May 22 Python
python数组复制拷贝的实现方法
Jun 09 Python
使用python实现ANN
Dec 20 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
Python3内置模块random随机方法小结
Jul 13 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
python基于property()函数定义属性
Jan 22 Python
python绘制分布折线图的示例
Sep 24 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 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
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python处理session的方法整理
2019/08/29 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
4s店机修工岗位职责
2013/12/20 职场文书
运动会广播稿300字
2014/01/10 职场文书
初三物理教学反思
2014/01/21 职场文书
美容院考勤制度
2014/01/30 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
2014年妇女工作总结
2014/12/06 职场文书
地陪导游欢迎词
2015/01/26 职场文书
高一军训决心书
2015/02/05 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript