```python
def file_replace(file_name, old_word, new_word):
try:
打开文件并读取内容
with open(file_name, 'r', encoding='utf-8') as f:
content = f.readlines()
计算需要替换的次数
count = content.count(old_word)
询问用户是否确定替换
decide = input(f"文件{file_name}中共有{count}个[{old_word}],您确定要把所有的[{old_word}]替换为[{new_word}]吗?(YES/NO): ")
if decide.lower() != 'yes':
print("替换操作已取消。")
return
替换所有匹配的字符串
new_content = [line.replace(old_word, new_word) for line in content]
将替换后的内容写回文件
with open(file_name, 'w', encoding='utf-8') as f:
f.writelines(new_content)
print(f"替换成功!文件{file_name}中的所有[{old_word}]已替换为[{new_word}]。")
except FileNotFoundError:
print(f"路径或文件不存在,请重新输入。")
示例调用
file_replace('example.txt', 'old_word', 'new_word')
```
代码说明:
输入文件名:
程序首先提示用户输入要替换的文件名。
读取文件内容:
打开文件并读取所有行到列表中。
计算替换次数:
统计需要替换的字符串在文件中出现的次数。
确认替换:
询问用户是否确定执行替换操作。
替换字符串:
使用列表推导式将文件中所有匹配的字符串替换为新的字符串。
写回文件:
将替换后的内容写回原文件。
异常处理:
捕获文件不存在的异常并提示用户。
你可以根据需要修改文件名、需要替换的字符串和替换后的字符串。这个程序适用于单个文件的替换操作。如果你需要处理多个文件或目录下的所有文件,可以进一步扩展这个程序。