Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)

 更新时间:2019年06月28日 11:46:14   作者:A72HONGJIE  
这篇文章主要介绍了Python文件操作中进行字符串替换的方法(保存到新文件/当前文件) ,本文给大家介绍两种方法,每种方法给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

题目:

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升级导致yum、pip报错的解决方法

    Python升级导致yum、pip报错的解决方法

    这篇文章主要给大家介绍了因为Python升级导致yum、pip报错的解决方法,文中通过示例代码将解决的方法介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。
    2017-09-09
  • python使用socket进行简单网络连接的方法

    python使用socket进行简单网络连接的方法

    这篇文章主要介绍了python使用socket进行简单网络连接的方法,实例分析了Python使用socket的基本技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python获取接口数据的实现示例

    Python获取接口数据的实现示例

    本文主要介绍了Python获取接口数据的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Windows11使用Cpython 编译文件报错 error: Unable to find vcvarsall.bat 完美解决方法

    Windows11使用Cpython 编译文件报错 error: Unable to find vcvars

    这篇文章主要介绍了Windows11使用Cpython编译文件报错error:Unable to find vcvarsall.bat完美解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 利用pandas进行数据清洗的方法

    利用pandas进行数据清洗的方法

    本文主要介绍了利用pandas进行数据清洗的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Jupyter Notebook内使用argparse报错的解决方案

    Jupyter Notebook内使用argparse报错的解决方案

    这篇文章主要介绍了在Jupyter Notebook内使用argparse报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Python脚本实现随机数据生成自由详解

    Python脚本实现随机数据生成自由详解

    这篇文章主要为大家详细介绍了Python如何通过脚本实现随机数据生成自由,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下吧
    2023-12-12
  • 利用python对月饼数据进行可视化(看看哪家最划算)

    利用python对月饼数据进行可视化(看看哪家最划算)

    通过python对数据进行可视化展示,可直观地展示数据之间的关系,为用户提供更多的信息,这篇文章主要给大家介绍了关于利用python对月饼数据进行可视化的相关资料,看看哪家最划算,需要的朋友可以参考下
    2022-09-09
  • python按列索引提取文件夹内所有excel指定列汇总(示例代码)

    python按列索引提取文件夹内所有excel指定列汇总(示例代码)

    这篇文章主要介绍了python按列索引提取文件夹内所有excel指定列汇总,本文通过多种场景分析结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python实现处理apiDoc转swagger的方法详解

    Python实现处理apiDoc转swagger的方法详解

    这篇文章主要为大家详细介绍了Python实现处理apiDoc转swagger的方法,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-02-02

最新评论