2013-10-17 32 views
3

我有我移動到使用改寫shutil.move操作

shutil.move(SRCFILE,dstdir)存檔目錄

但是,當一個源文件中已經存在於目錄中的文件檔案目的地目錄中已存在相同的文件,則會引發錯誤,說明無法移動文件已存在。所以我想覆蓋現有的文件。有沒有辦法做到這一點?

回答

2

我有同樣的問題。如果其他人正在尋找解決方案,這就是我所做的。

根據shutil文檔,沒有直接的方法來做到這一點。但是,使用os.remove()有一個簡單的解決方法。假設你在源目錄和您在文件「SRCFILE」搬到「dstdir」:

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

這將嘗試它移動文件之前清除「SRCFILE」 dstdir「。