python

超轻量级php框架startmvc

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

更新时间:2020-07-09 22:00:01 作者:startmvc
题目:1.首先将文件:/etc/selinux/config进行备份文件名为/etc/selinux/config.bak2.再文件:/etc/selinu

题目:

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 字符串替换