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

时间:2013-10-17 13:10:46

标签: move python-2.6 shutil

我有一个源文件,我正在使用

移动到Archive目录

shutil.move(srcfile,dstdir)

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

1 个答案:

答案 0 :(得分:2)

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

根据shutil文档,没有直接的方法来做到这一点。但是,使用os.remove()可以轻松解决问题。假设您在源目录中并且您正在移动文件' srcfile'到了' dstdir':

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

这试图清除“dstdir”。 ' srcfile'在移动文件之前。