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 相关文章推荐
基于wxpython实现的windows GUI程序实例
May 30 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
Django unittest 设置跳过某些case的方法
Dec 26 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
python开发入门——set的使用
Sep 03 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 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实现用于验证所有类型的信用卡类
2015/03/24 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
番茄的表单验证类代码修改版
2008/07/18 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
angular十大常见问题
2017/03/07 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
主管会计岗位职责
2014/03/13 职场文书
公司承诺书格式
2014/05/21 职场文书
小学班级口号
2014/06/09 职场文书
个人查摆剖析材料
2014/10/16 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
导游词之昭君岛
2020/01/17 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL