根据你提供的代码,我注意到在函数 `Modify_String_TXT` 中,并没有将修改后的内容写入到新的文件中。为了生成一个新的文件,你需要在函数中添加一个新的参数 `output_file` 来指定输出文件的路径,并在函数最后使用 `write` 方法将修改后的内容写入到新文件中。
下面是修改后的代码示例:
def Modify_String_TXT(Find_String, Replace_String, input_file, output_file):
with open(input_file, 'r', encoding='UTF-8') as f:
lines = f.readlines()
lines_to_write = []
delete_line = False
previous_line = None
for line in lines:
if Find_String in line:
line = line.replace(Find_String, Replace_String)
if line.strip().startswith('8'):
delete_line = True
elif line.strip().startswith('4'):
delete_line = True
else:
if line.strip() == previous_line:
continue
lines_to_write.append(line)
previous_line = line.strip()
if delete_line:
lines_to_write = lines_to_write[1:]
with open(output_file, 'w', encoding='UTF-8') as f:
f.writelines(lines_to_write)
input_file = 'f:\\' + input('请输入f盘下要关键字替换的文件名') + '.txt'
output_file = 'f:\\' + input('请输入f盘下要保存的文件名') + '.txt'
Modify_String_TXT(' 0', '0|0', input_file, output_file)
Modify_String_TXT(' 3', '0|3', input_file, output_file)
Modify_String_TXT(' 6', '1|6', input_file, output_file)
这样修改后的代码将会读取原文件中的内容进行替换操作,并将修改后的内容写入到新的文件中,保留了原文件的内容。请确保输入的文件路径是正确的,并根据需要修改要查找和替换的字符串,以及输出文件的路径。 |