我在運行此測試程序時創建以下錯誤。FileExistsError:[WinError 183]當該文件已存在時無法創建文件:
import shutil
src=r"G:\aaa"
dst=r"F:\zzz"
shutil.copytree(src,dst, symlinks=False, ignore=None)
FileExistsError:[WinError 183]當文件已存在無法創建文件:
但F的文件夾:\ zzz爲空!
我在運行此測試程序時創建以下錯誤。FileExistsError:[WinError 183]當該文件已存在時無法創建文件:
import shutil
src=r"G:\aaa"
dst=r"F:\zzz"
shutil.copytree(src,dst, symlinks=False, ignore=None)
FileExistsError:[WinError 183]當文件已存在無法創建文件:
但F的文件夾:\ zzz爲空!
「當文件已存在無法創建文件」是被混淆,因爲它是目錄或普通文件一樣通用的Windows消息。 (Windows未對非常有幫助的錯誤消息知,你必須湊合用那個)從shutil.copytree
在線幫助
:
>>> help(shutil.copytree)
Help on function copytree in module shutil:
copytree(src, dst, symlinks=False, ignore=None, copy_function=, ignore_dangling_symlinks=False)
Recursively copy a directory tree.
The destination directory must not already exist.
所以第一次,它可能有效,但其他有時候你需要執行
shutil.rmtree(dst)
刪除目標目錄複製樹之前(請注意,Windows是煩人的權限和具有隻讀屬性的文件可以扼住shutil.rmtree
,我個人將代碼複製到自定義版本中(在聯機幫助中鼓勵您這樣做)在刪除常規文件之前添加os.chmod(path,0o777)
。
謝謝。它是正確的。我認爲它會在文件夾內創建。但它也創建了文件夾本身 –
需要更多信息。什麼是測試程序的代碼?從輸出Fromm看來,在嘗試創建一個已經存在的文件時,對某個File IO API的調用會引發此錯誤。需要查看代碼以獲取更多信息。 – Soumya
@讓FrançoisFabre字符串前的'r'藉此 – Milk
@Milk的護理:真實。我的眼睛遲遲不能工作得很好:)對OP很好。如果我有一個美元,當有人爲此而... –