2017-04-12 65 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