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实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python设计模式之代理模式简单示例
Jan 09 Python
python导出hive数据表的schema实例代码
Jan 22 Python
使用python 3实现发送邮件功能
Jun 15 Python
Django时区详解
Jul 24 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
logging level级别介绍
Feb 21 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
python IP地址转整数
Nov 20 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 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数组实例总结与说明
2011/08/23 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
PDO::_construct讲解
2019/01/27 PHP
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
JS二分查找算法详解
2017/11/01 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
JS实现li标签的删除
2019/04/12 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
python程序控制NAO机器人行走
2019/04/29 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
中医临床专业自我鉴定范文
2014/01/15 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
战友聚会邀请函
2014/01/18 职场文书
爱情保证书范文
2014/02/01 职场文书
初中班主任寄语
2014/04/04 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers