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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
python中的字典详细介绍
Sep 18 Python
零基础写python爬虫之神器正则表达式
Nov 06 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
python如何重载模块实例解析
Jan 25 Python
python3.x上post发送json数据
Mar 04 Python
django项目搭建与Session使用详解
Oct 10 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
python实现简易学生信息管理系统
Apr 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中的字符串函数
2006/10/09 PHP
PHP 模板高级篇总结
2006/12/21 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
wxPython使用系统剪切板的方法
2015/06/16 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
SNIDEL官网:日本VIVI杂志人气少女第一品牌
2020/03/12 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
党员培训思想汇报
2014/01/07 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
JAVA API 实用类 String详解
2021/10/05 Java/Android
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers
详解CSS3浏览器兼容
2022/12/24 HTML / CSS