每日天一道python练习07

题目:有一个文件,文件名为output_1981.10.21.txt 。下面使用python: 读取文件名中的日期时间信息,并找出这一天是周几。将文件改名为output_YYYY-MM-DD-W.txt (YYYY:四位的年,MM:两位的月份,DD:两位的日,W:一位的周几,并假设周一为一周第一天)

分析:主要通过导入正则匹配的库re,利用/d匹配数字(/D匹配非数值类型),通过时间库输出星期几,最后采用sub()函数匹配替换文件名

code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
# -*- coding=utf-8 -*-
# create Ttstcy
import re
import time
from datetime import datetime
'''
有题目:一个文件,文件名为output_1981.10.21.txt 。下面使用python: 读取文件名中的日期
时间信息,并找出这一天是周几。将文件改名为output_YYYY-MM-DD-W.txt (YYYY:四位的年
,MM:两位的月份,DD:两位的日,W:一位的周几,并假设周一为一周第一天)
'''
filename="output_1981.10.21.txt"
day=re.search("output_(\d{4}.\d{2}.\d{2})",filename) #\d匹配数字
newDate=day.group(1) #获取匹配到的日期
print '%s是周%s' % (newDate,time.strftime('%w'))
#分割日期成YY、MM、DD
year=newDate[0:4]
month=newDate[5:7]
day=newDate[8:10]
replace='%s-%s-%s-%s' % (year,month,day,time.strftime('%w'))
fileName = re.sub("\d{4}.\d{2}.\d{2}", replace, filename) #使用sub()进行替换
print '新的文件名为:%s' % fileName