python替换两个文件
时间: 2024-12-12 10:21:42 浏览: 5
在Python中,你可以使用内置的`shutil`和`fileinput`模块或者第三方库如`pathlib`来复制和替换两个文件。这里给出两种基本的方法:
1. **使用`shutil`和`fileinput`**:
```python
import shutil
from fileinput import backup, inplace
# 创建备份文件
backup('原文件路径.txt', '原文件备份_{}.txt')
# 将新内容写入原文件
with inplace('新文件路径.txt') as f:
for line in f:
# 这里替换原有内容
new_line = line.replace('old_content', 'new_content')
print(new_line)
# 删除旧文件,如果一切顺利则替换完成
if os.path.exists('原文件路径.txt'):
os.remove('原文件路径.txt')
shutil.move('新文件路径.txt', '原文件路径.txt')
```
2. **使用`pathlib`和`with`语句** (对于文本文件):
```python
from pathlib import Path
# 创建临时副本文件
temp_file = Path('原文件路径.txt').rename('temp.txt')
# 写入新内容到原文件
with temp_file.open('w') as out, Path('原文件路径.txt').open('r') as in_file:
for line in in_file:
out.write(line.replace('old_content', 'new_content'))
# 删除旧文件并移动新内容
Path('temp.txt').replace(Path('原文件路径.txt'))
```
在操作前,务必确保对数据的安全性和一致性有充分理解,特别是当涉及到重要或不可恢复的数据时。
阅读全文