2017-04-12 94 views
0

我有很多文件xxxxxxAB123,xxxxAB124,xxxxAB125,xxxxAB126 ......我需要將這些文件移動到基​​於文件名的相應文件夾,例如文件xxxxxAB123應該被移動到文件夾AB123,文件xxxxAB124應該被移動到文件夾AB124,等等...我如何在Python中實現這一點?Python的 - 文件名和文件夾名稱比較

+2

歡迎StackOverflow上。請閱讀並遵守幫助文檔中的發佈準則。 [開話題](http://stackoverflow.com/help/on-topic)和[如何提問](http://stackoverflow.com/help/how-to-ask)適用於此。 StackOverflow不是一個編碼或教程服務。 – AChampion

回答

0

如果所有文件名具有相同的圖案(例如,無論在前面談到,與AB ###結尾)可以拆分後半部,使與目錄,然後將文件移動到該目錄中。

嘗試下面的代碼:

import os 
import shutil 

directory = "path/to/files" 
for file in os.listdir(directory): 
    dirName = file[-5:] # retrieves the last 5 characters in the filename. 
    try: 
     os.mkdir(os.path.join(directory, dirName)) 
    except OSError: 
     pass 
    shutil.move(os.path.join(directory, file), os.path.join(directory, dirName)) 
+0

已經存在的文件夾,沒有必要做出新的,如何修改呢? – Jeff

+0

@Jeff如果你已經擁有的文件夾,您可以刪除的嘗試 - 除了序列,這使得一個目錄。 – Squizz