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实现马耳可夫链算法实例分析
May 20 Python
Python写的一个简单监控系统
Jun 19 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
python中subprocess批量执行linux命令
Apr 27 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
利用Python将多张图片合成视频的实现
Nov 23 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缓存类分享     php缓存机制
2014/01/22 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
python实现井字棋游戏
2020/03/30 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
大学三年的自我评价
2013/12/25 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
销售人才自我评价范文
2014/09/27 职场文书
社会实践活动总结
2015/02/05 职场文书
小学教师教学随笔
2015/08/14 职场文书