歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python中整個文件夾的移動

Python中整個文件夾的移動

日期:2017/3/1 10:47:15   编辑:Linux編程

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

目錄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

Copyright © Linux教程網 All Rights Reserved