python中整個檔案夾的移動

來源:互聯網
上載者:User

最近做個項目是將一個目錄下整個檔案夾移到另外一個目錄下。其中檔案夾下又套了很多層檔案夾,還有最難得一點是檔案夾在不同的檔案夾下如果有同名的檔案夾,要移到同一個目錄下,又必須將同名的檔案夾得所有內容整合在一起,例如:

目錄D盤下又如下內容:(D:/src/a 
D:/src/b/a) 

目錄E盤:E:/dst

要將D:/src/a檔案夾下的內容(含有檔案夾和檔案)、D:/src/b/a(含有的檔案夾和檔案)

(備忘:檔案夾下可能還有同名的)

移到E:/dst下

自己寫了一個函數可以實現以上功能:

Def 
MoveDirAndFiles(srcPath,dstPath)

      
allChangeFileList=os.listdir(srcPath)

      
for changeFileItem in allChangeFileList:

             
changeFilePath=os.path.join(srcPath,changeFileItem)

                    
if os.path.isdir(changeFilePath):

                           
dstAddPath=os.path.join.(dstPath,changeFileItem)

                                  
if os.path.exits(dstAddPath):

                                         
MoveDirAndFiles(changeFilePath,dstAddPath)

                                  
Else:

                                         
Shutil.copytree(changeFilePath,dstAddPath,False)

                                         
Shutil.retree(changeFilePath)

                    
Else:

                           
Shutil.move(changeFilePath,dstPath)

      
Os.rmdir(srcPath)

      
Return Ture

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.