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 字典(Dictionary)操作详解
Mar 11 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
编写简单的Python程序来判断文本的语种
Apr 07 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python多维数组切片方法
Apr 13 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
python实现简易数码时钟
Feb 19 Python
Python如何调用JS文件中的函数
Aug 16 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
pycharm 实现调试窗口恢复
Feb 05 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
咖啡与水的关系
2021/03/03 冲泡冲煮
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
深入学习Python中的装饰器使用
2016/06/20 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Django的models中on_delete参数详解
2019/07/16 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
深入了解Python enumerate和zip
2020/07/16 Python
浅析python 字典嵌套
2020/09/29 Python
学习两会精神心得范文
2014/03/17 职场文书
面试必备的求职信
2014/05/25 职场文书
片区教研活动总结
2014/07/02 职场文书
群众路线调研报告范文
2014/11/03 职场文书
会计电算化实训报告
2014/11/04 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL