Python标准库

    xiaoxiao2021-11-02  98

    题目作者:Vamei 出处:http://www.cnblogs.com/vamei

    有一个文件,文件名为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为两个路径,分别表示重命名之前和之后的路径。
    转载请注明原文地址: https://ju.6miu.com/read-677945.html

    最新回复(0)