Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
作者: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文件操作中进行字符串替换的方法(保存到新文件/当前文件) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!