```python
def file_replace(file_name, rep_word, new_word):
try:
with open(file_name, 'r', encoding='utf-8') as f:
content = f.read()
except FileNotFoundError:
print("文件不存在,请检查文件路径。")
return
count = content.count(rep_word)
if count == 0:
print(f"在文件 {file_name} 中未找到需要替换的单词 '{rep_word}'。")
return
new_content = content.replace(rep_word, new_word)
confirm = input(f"确定要将文件 {file_name} 中的所有 '{rep_word}' 替换为 '{new_word}' 吗?(y/n): ")
if confirm.lower() == 'y':
with open(file_name, 'w', encoding='utf-8') as f:
f.write(new_content)
print(f"文件 {file_name} 中的所有 '{rep_word}' 已成功替换为 '{new_word}'。")
else:
print("替换操作已取消。")
使用示例
file_name = input("请输入文件名: ")
rep_word = input("请输入需要替换的单词或字符: ")
new_word = input("请输入新的单词或字符: ")
file_replace(file_name, rep_word, new_word)
```
这个脚本首先尝试打开并读取指定文件的内容。如果文件不存在,它会打印一条错误消息并返回。然后,它会计算需要替换的单词在文件中的出现次数,并询问用户是否确认执行替换操作。如果用户确认,脚本会将文件内容中的所有匹配项替换为新的单词,并将修改后的内容写回文件。如果用户取消,脚本将不会执行任何替换操作。
请注意,这个脚本在替换前不会备份原始文件,因此在使用前请确保已经备份了重要数据。此外,这个脚本假设文件内容不大,可以一次性读取到内存中。对于非常大的文件,可能需要采用更高效的读写方法。