在shutil.move 操作期间覆盖目录中已存在的文件

use*_*260 5 move python-2.6 shutil

我有一个源文件,我正在使用它移动到一个存档目录

关闭。移动(srcfile,dstdir)

但是当存档目标目录中已经存在相同的文件时,它会抛出一个错误,指出无法移动文件已经存在。所以我想覆盖现有的文件。有没有办法做到这一点?

the*_*cus 4

我也有同样的问题。如果其他人正在寻找解决方案,这就是我所做的。

根据 Shutil 文档,没有直接的方法可以做到这一点。但是,使用 可以轻松修复os.remove()。假设您位于源目录中并且要将​​文件“srcfile”移动到“dstdir”:

import shutil, os
try:
    os.remove(dstdir+'srcfile')
except OSError:
    pass
else:
    shutil.move(srcfile, dstdir)`
Run Code Online (Sandbox Code Playgroud)

这会在移动文件之前尝试清除“srcfile”的“dstdir”。