由于邮件使用另存为备份的时候,日期是追加在文件名最后面的,如下面的格式
(无主题) - yingyingying@163.com - 2022-06-10 1314.eml
比较清晰的可以看到,这个文件名的后面是固定的格式
2022-06-10 1314
年-月-日 时分
为了在大量的邮件中更方便、直观的找到对应日期的邮件,于是编写了一个小脚本
# encoding = 'utf-8'
# author: --valecalida--
from os import rename, getcwd,path
import os
import re
# path_root = r"%s//" %((getcwd()).replace('\\','//'))
path_root = r"%s" % getcwd()
print(path_root)
dir_list = os.listdir(path_root)
dir_list.remove(str(path.basename(__file__)))
pattern = r'【[0-9]{4}-[0-9]{2}-[0-9]{2}.[0-9]{2}.[0-9]{2}.(.*)'
for name in dir_list:
if not re.match(pattern, name):
if name[-4:] == ".eml":
s = name.split(' ')
new_name = "【" + str(s[-2]) + ","+ s[-1][:2] + "时"+ s[-1][2:4] + "分】" + name
print(new_name)
rename(os.path.join(path_root,name), os.path.join(path_root,new_name))
接着就要看一下执行效果了
【2022-06-10,13时14分】(无主题) - yingyingying@163.com - 2022-06-10 1314.eml
通过对文件名的排序可以更直观、便捷的找到自己想要的邮件,这里需要注意一下,文件夹的命名规则不要过于刁钻,不要随便加特殊符号,不然的话,rename函数会有莫名的bug(别问我怎么知道的)