您的位置:首页 > 编程语言 > Python开发

Python编程快速上手 让繁琐工作自动化 第9章 9.4 项目:将带有美国风格日期的文件改名为欧洲风格日期

2020-07-30 08:35 651 查看

9.4 项目:将带有美国风格日期的文件改名为欧洲风格日期

书中作者给出了代码,我的代码做了一些改动。作者代码只考虑日期间的连接符是"-“的情况,实际上日期之间的连接符,也有习惯写成”."或者不写的,我的代码把这两种情况都考虑了进去。另外我的代码把改名之前的文件名中年份和文件扩展名之间的字符都去掉了。
请注意:如果改名之前的某些文件名只是连接符(不写连接符也算连接符的一种)的不同和年份和文件扩展名之间的字符的不同,那么改名后,会出现同名文件被覆盖的情况。
这些出现改名后同名文件的情况,改动下代码即可解决。有兴趣的可以试一下。
下面是我的代码:

import re,os, shutil
reg=re.compile(r'(.*?)((0|1)?\d)(\.|-)?((0|1|2|3)?\d)(-|\.)?(\d\d\d\d)(.*)(\.[^.]+)')
for a in os.listdir('9'):
print(a)
if reg.search(a)==None:
continue
fst=reg.search(a).group(1)
m=reg.search(a).group(2)
d=reg.search(a).group(5)
y=reg.search(a).group(8)
lst=reg.search(a).group(10)
eurodate=fst+d+'-'+m+'-'+y+lst
absp=os.path.abspath('.')
usfile=os.path.join(absp,'9',a)                    #9是当前工作目录下的子文件夹名称
eurofile=os.path.join(absp,'ch',eurodate)          #ch是当前工作目录下的子文件夹名称
shutil.move(usfile,eurofile)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐