2014-04-22 87 views
1

我正在'C:\'上運行並在'Y:\'中複製,這有什麼關係嗎?os.rename()移動目錄但不刪除舊目錄。它像複製

我的代碼:

def rename(src, dst): 
    try: 
     if os.path.exists(dst): 
      os.unlink(dst) 
     os.renames(src, dst) 
     return 0 
    except OSError, err: 
     print("Rename '%s' to '%s' failed: %s" % (src,dst,os.strerror(err.errno))) 
+0

您對C:擁有刪除權限嗎? –

+0

我對C:\有權限,src和dst都在Y:\上。另外如果我使用os.remove()它工作正常。這意味着這不是許可或位置問題。 – user3559221

回答

1

如果不同的文件系統都參與其中,你應該使用shutil.move(src, dst)

documentation

如果目標是在當前的文件系統,然後操作系統。使用rename()。否則,複製src(使用shutil.copy2())到dst然後刪除。