python shutil.move 如果文件中已存在会报错
时间: 2024-02-26 21:59:17 浏览: 371
是的,shutil.move() 函数在目标路径已存在同名文件时会抛出 `FileExistsError` 异常。如果你想要移动文件时替换同名文件,则可以使用 shutil.copy2() 函数来替换文件,然后删除原文件。具体实现步骤如下:
1. 导入 shutil 库:`import shutil`
2. 使用 copy2() 函数替换同名文件,示例代码如下:
```
shutil.copy2('原文件路径', '目标文件路径')
```
其中,'原文件路径'是你想要替换的文件路径,'目标文件路径'是你想要将文件移动到的目标路径。
3. 删除原文件,示例代码如下:
```
os.remove('原文件路径')
```
其中,'原文件路径'是你想要删除的文件路径。
例如,如果你想将名为 'example.txt' 的文件移动到目标路径 '/Users/username/Desktop/new_folder',并且替换同名文件,则代码如下:
```
import os
import shutil
src_file = 'example.txt'
dst_file = '/Users/username/Desktop/new_folder/example.txt'
if os.path.exists(dst_file):
os.remove(dst_file)
shutil.copy2(src_file, dst_file)
os.remove(src_file)
```
这样就可以将 'example.txt' 文件移动到 '/Users/username/Desktop/new_folder' 目录下,并替换同名文件。
阅读全文