python文件名替换实例
来源:互联网 发布:什么是电子商务数据库 编辑:程序博客网 时间:2024/05/21 14:05
看了一段时间的python了,今天以一个小程序为例整合一下近几章的知识点。
环境:pycharm + python3.6
程序的主要功能是将文件名中包含美国风格的日期(MM-DD-YYYY)转换为欧洲风格的日期(DD-MM-YYYY)
简单列举了下主要的步骤:
(1)创建查找日期的正则表达式
(2)在给定路径中遍历文件名
(3)跳过不含日期的文件
(4)获取含日期的文件名中日期的各个部分
(5)将文件名改成欧洲格式:DD-MM-YYYY
(6)获取文件的路径名
(7)移动并重命名文件
这里用到的包:shutil, re, os
import shutil, re, os
接下来创建匹配日期的正则表达式:
date_re = re.compile(r'''(.*?) #all text before the date ((0|1)?\d)- #one or two digits for the month ((0|1|2|3)?\d)- #one or two digits for the day ((19|20)\d\d) #four digits for the year (.*?)$ #all text after the date''', re.VERBOSE)
在给定的路径中遍历文件名,对含有日期格式的文件名进行替换
file_path = 'E:\\test_file\\' #set the file pathfor amer_filename in os.listdir(file_path): str_date = date_re.search(amer_filename) #TODO: 跳过不含日期的文件 if str_date == None: continue #TODO: 获取含日期的文件名中日期的各个部分 before_part = str_date.group(1) month_part = str_date.group(2) day_part = str_date.group(4) year_part = str_date.group(6) after_part = str_date.group(8) #TODO: 将文件名改成欧洲格式:DD-MM-YYYY euro_filename = before_part + day_part + '-' + month_part + '-' + year_part + after_part; #TODO: 获取文件的路径名 abs_workingDir = os.path.abspath(file_path) amer_filename = os.path.join(abs_workingDir, amer_filename) euro_filename = os.path.join(abs_workingDir, euro_filename) #TODO: 重命名文件 print('Renaming "%s" to "%s"' % (amer_filename, euro_filename)) shutil.move(amer_filename, euro_filename)
阅读全文