《Python编程快速上手》实践项目:将美国风格日期文件名改为欧洲风格日期

1.项目要求

上千个文本文件,文件名包含美国风格的日期( MM-DD-YYYY),需要将它们改名为欧洲风格的日期( DD-MM-YYYY)

2.编程步骤

  1. 为美国风格日期创建一个正则表达式
  2. 用正则表达式去识别日期部分
  3. 构成新文件名,并对文件改名

3.代码演示

import re,os,shutil

#创建一个匹配美国风格日期的正则表达式
datePattern = re.compile(r'''
	^(.*?)			#匹配日期开始前的所有文本
	((0|1)?\d)-		#匹配月份
	((0|1|2|3)?\d)- #匹配日期
	((19|20)?\d)	#匹配20世纪和21世纪的年份
	(.*?)$
	''',re.VERBOSE)

for amerFilename in  os.listdir('.\\test'):
	mo = datePattern.search(amerFilename)

	#若名称不匹配则直接跳过该文件
	if mo == None:
		# print('不匹配')
		continue

	#符合规则将每一块信息保存到变量
	# print(mo.group(1))
	beforePart = mo.group(1)
	monthPart  = mo.group(2)
	dayPart    = mo.group(4)
	yearPart   = mo.group(6)
	afterPart  = mo.group(8)

	#将欧洲名组合好赋给变量
	euroFileName = beforePart + dayPart + '-'+ monthPart + '-' + yearPart + afterPart  

	#获取欧洲名和美国名的绝对路径
	absFilename = os.path.abspath('.\\test')
	amerFilename = os.path.join(absFilename,amerFilename)
	euroFileName = os.path.join(absFilename,euroFileName)

	#更名替换
	shutil.move(amerFilename,euroFileName)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值