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之赋值,简单也不简单
Sep 24 Python
python读取word文档的方法
May 09 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
Python assert关键字原理及实例解析
Dec 13 Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 Python
Python多进程编程常用方法解析
Mar 26 Python
Django与pyecharts结合的实例代码
May 13 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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漏洞小结
2012/02/05 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
React组件的三种写法总结
2017/01/12 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
python和ruby,我选谁?
2017/09/13 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
公司庆典邀请函范文
2014/01/13 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
司法建议书范文
2014/05/13 职场文书
爱心捐助倡议书
2014/05/19 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
导游欢送词
2015/01/31 职场文书
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript