这里直接贴源码了
1. --替换文件内容(方式1)
通过打开文件读取文件行存入变量,再修改变量,再重打开文件将修改过的变量存储数据写入到原文件中。
def alter_1(file_name, old_str, new_str):
# 方式1:通过打开文件读取文件行存入变量,再修改变量,再重打开文件将修改过的变量存储数据写入到原文件中。
file_data = ""
with open(file_name, 'r', encoding="utf-8") as read_f:
for readLine in read_f:
line = readLine.replace(old_str, new_str)
file_data += line
print(file_data)
read_f.close()
with open(file_name, 'w', encoding="utf-8") as write_f:
write_f.write(file_data)
read_f.close()
alter_1("test.conf", "c", "**")
2. --替换文件内容(方式2)
新建个空白文件,把原文件内容和要修改的内容写到新文件中进行存储。
import re, os
def alter_2(file, old_str, new_str):
# 方式2:新建个空白文件,把原文件内容和要修改的内容写到新文件中进行存储。
with open(file, "r", encoding="utf-8") as f1, open("% s.bak" % file, "w", encoding="utf-8", ) as f2:
for line in f1:
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
alter_2("test.conf", "c", "**")
3. --替换文件内容(方式3)
新建个空白文件,把原文件内容和要修改的内容写到新文件中进行存储(使用正规方式)。
import re, os
def alter_3(file, old_str, new_str):
# 方式3:新建个空白文件,把原文件内容和要修改的内容写到新文件中进行存储(使用正规方式)。
with open(file, "r", encoding="utf-8") as f1, open("% s.bak" % file, "w", encoding="utf-8", ) as f2:
for line in f1:
f2.write(re.sub(old_str, new_str, line))
os.remove(file)
os.rename("%s.bak" % file, file)
alter_3("test.conf", "c", "**")