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中每次处理一个字符的5种方法
May 21 Python
Python切片知识解析
Mar 06 Python
python使用str & repr转换字符串
Oct 13 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
flask框架中勾子函数的使用详解
Aug 01 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Python 列表的清空方式
Jan 13 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
Python3基于print打印带颜色字符串
Jul 06 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
zf框架的Filter过滤器使用示例
2014/03/13 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript call方法使用说明
2010/01/11 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
获取IE浏览器Cookie信息的方法
2017/01/23 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
乡镇党建工作汇报材料
2014/08/14 职场文书
家庭教育的心得体会
2014/09/01 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
专家推荐信怎么写
2015/03/25 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
Python利用zhdate模块实现农历日期处理
2022/03/31 Python