Python标准库__正则表达式练习
2016-11-18 10:39
337 查看
题目作者:Vamei 出处:http://www.cnblogs.com/vamei
有一个文件,文件名为output_1981.10.21.txt 。下面使用Python: 读取文件名中的日期时间信息,并找出这一天是周几。将文件改名为output_YYYY-MM-DD-W.txt (YYYY:四位的年,MM:两位的月份,DD:两位的日,W:一位的周几,并假设周一为一周第一天)。
代码如下:
有一个文件,文件名为output_1981.10.21.txt 。下面使用Python: 读取文件名中的日期时间信息,并找出这一天是周几。将文件改名为output_YYYY-MM-DD-W.txt (YYYY:四位的年,MM:两位的月份,DD:两位的日,W:一位的周几,并假设周一为一周第一天)。
代码如下:
import re import os import time import datetime filename = "output_1981.10.21.txt" #要操作的文件名 m = re.match("output_(\d{4}.\d{2}.\d{2}).txt$", filename) #括号圈起来的正则表达式的一部分,称为群 searchResult = m.group(1) #以m.group(number)的方法来查询群 print("match result:%s"%searchResult) dates = searchResult.split('.') #通过指定分隔符对字符串进行切片,放在一个表中返回 #print dates for date in dates: #通过for循环,取值 year = dates[0] month = dates[1] day = dates[2] #print year week = datetime.datetime(int(year), int(month), int(day)).strftime("%w") #调用datetime对象的strftime()方法,来将datetime对象转换为特定格式的字符串 neweek = '%s-%s-%s-%s' %(year, month, day, week) print neweek #输出带week的日期 newfile = re.sub("\d{4}.\d{2}.\d{2}", neweek, filename) #在string中利用正则变换pattern进行搜索,对于搜索到的字符串,用另一字符串replacement替换。返回替换后的字符串。 print newfile #os.rename('/data/sdv1/caoyang/HelloWorld/CyTest/output_1981.10.21.txt', '/data/sdv1/caoyang/HelloWorld/CyTest/output_1981-10-21.txt') #rename(src, dst),重命名文件,src和dst为两个路径,分别表示重命名之前和之后的路径。
import re import os import time import datetime filename = "output_1981.10.21.txt" #要操作的文件名 m = re.match("output_(?P<year>\d{4}.\d{2}.\d{2}).txt$", "output_1981.10.21.txt") #将群命名,以便更好地使用m.group查询 result = m.group('year') print("match result:%s"%result) dates = result.split('.') #通过指定分隔符对字符串进行切片,放在一个表中返回 #print dates for date in dates: #通过for循环,取值 year = dates[0] month = dates[1] day = dates[2] week = datetime.datetime(int(year), int(month), int(day)).strftime("%w") #调用datetime对象的strftime()方法,来将datetime对象转换为特定格式的字符串 neweek = '%s-%s-%s-%s' %(year, month, day, week) print neweek #输出带week的日期 newfile = re.sub("\d{4}.\d{2}.\d{2}", neweek, filename) #在string中利用正则变换pattern进行搜索,对于搜索到的字符串,用另一字符串replacement替换。返回替换后的字符串。 print newfile #os.rename('/data/sdv1/caoyang/HelloWorld/CyTest/output_1981.10.21.txt', '/data/sdv1/caoyang/HelloWorld/CyTest/output_1981-10-21.txt') #rename(src, dst),重命名文件,src和dst为两个路径,分别表示重命名之前和之后的路径。
相关文章推荐
- 转 Python标准库01 正则表达式 (re包)
- Python标准库01 正则表达式 (re包)
- Python标准库01 正则表达式 (re包)
- Python标准库01 正则表达式(re包)
- Python标准库re正则表达式
- [Python标准库]re——正则表达式[五]
- Dave Python 练习十七 -- 正则表达式
- Dave Python 练习十七 -- 正则表达式
- [Python标准库]re——正则表达式[四]
- Python标准库01 正则表达式 (re包)
- Dave Python 练习十七 -- 正则表达式
- #小练习 正则表达式匹配邮箱名称 分类: python 小练习 正则表达式 2013-05-23 16:15 383人阅读 评论(0) 收藏
- Dave Python 练习十七 -- 正则表达式
- 使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏
- Python标准库01 正则表达式 (re包)
- Python标准库 正则表达式 (re包)
- Python练习代码 -- 字符串和正则表达式, 文件文件夹操作
- Dave Python 练习十七 -- 正则表达式
- Python标准库01 正则表达式 (re包)
- [Python标准库]re——正则表达式[三]