Python自动化办公:批量将文件按分类保存,文件再多,只需一秒钟解决

x33g5p2x  于2022-04-23 转载在 Python  
字(1.2k)|赞(0)|评价(0)|浏览(589)

序言

当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,要是名字忘记了的话,那你也搜不了吧,当然你可通过后缀名去搜索,但是通过搜索出来的文件只会更多,这还只是文件多的情况下。

如果文件名字基本一样,只有序号不一样呢?那特么眼睛看瞎了估计还没找到。

那么我们可以用Python来对文件进行批量自动分类保存到文件夹,下次找的时候,就很轻松的能够找到了。

我们这里以这两百多个world原始文件为例

代码展示

  1. import os
  2. import time
  3. import datetime
  4. import pprint
  5. import shutil
  6. import re
  7. origin_dir = '原始文件/'
  8. target_dir = '目标文件/'
  9. files = os.listdir(origin_dir)
  10. month_compile = re.compile('(20\d\d)([01][0-9])')
  11. print(files)
  12. file_dict = {}
  13. for file in files:
  14. if file.endswith('.docx'):
  15. word_file = os.path.join(origin_dir, file)
  16. month = month_compile.search(word_file)
  17. if month:
  18. month = month.groups()
  19. # print(month.groups())
  20. if month[-1] == '00':
  21. month = re.search('(20\d\d)0([01][0-9])', word_file).groups()
  22. t1 = '-'.join(month)
  23. if t1 in file_dict.keys():
  24. file_dict[t1].append(word_file)
  25. else:
  26. file_dict[t1] = [word_file]
  27. pprint.pprint(file_dict)
  28. if not os.path.exists(target_dir):
  29. os.mkdir(target_dir)
  30. # 移动文件
  31. for key in file_dict.keys():
  32. # 创建文件的月份
  33. new_file_dir = os.path.join(target_dir, key)
  34. if not os.path.exists(new_file_dir):
  35. os.mkdir(new_file_dir)
  36. for file in file_dict[key]:
  37. # 获取文件名
  38. new_file_name = os.path.basename(file)
  39. # 合并新的文件路径
  40. new_file_path = os.path.join(new_file_dir, new_file_name)
  41. print(new_file_name)
  42. shutil.copyfile(file, new_file_path)

效果展示

我们这里以按月份分类为例,自动创建文件夹进行分类。

看,这不就好找多了

兄弟们,快去试试吧

相关文章