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实现服务器中只重载被修改的进程的方法
Apr 30 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
Python3 模块、包调用&路径详解
Oct 25 Python
python爬虫使用cookie登录详解
Dec 27 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Python pip配置国内源的方法
Feb 14 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
Python如何加载模型并查看网络
Jul 15 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
使用PHP编写的SVN类
2013/07/18 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
有机童装:Toby Tiger
2018/05/23 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
大学生就业自我鉴定
2013/10/26 职场文书
经典安踏广告词
2014/03/21 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
医生见习报告范文
2014/11/03 职场文书
文员岗位职责
2015/02/04 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
Python Flask实现进度条
2022/05/11 Python
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers