5

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

shutil.move(srcfile, dstdir)

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

4

1 回答 1

4

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

根据shutil文档,没有直接的方法可以做到这一点。但是,使用os.remove(). 假设您在源目录中并且正在将文件“srcfile”移动到“dstdir”:

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

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

于 2014-07-11T21:59:48.887 回答