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 Web框架Flask中使用七牛云存储实例
Feb 08 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python的requests网络编程包使用教程
Jul 11 Python
python数据结构之链表详解
Sep 12 Python
Python 类的特殊成员解析
Jun 20 Python
python实现黑客字幕雨效果
Jun 21 Python
python实现自动登录
Sep 17 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
Python的pygame安装教程详解
Feb 10 Python
Python 创建TCP服务器的方法
Jul 28 Python
python中使用asyncio实现异步IO实例分析
Feb 26 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的开发框架的现状和展望
2007/03/16 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php 发送带附件邮件示例
2014/01/23 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
Python笔记之facade模式
2019/11/20 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
民事答辩状格式范文
2015/05/21 职场文书
师范生小学见习总结
2015/06/23 职场文书