• Pyhton项目实践:将带有美国风格日期的文件改名为欧洲风格日期


    题目

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

    先写个创建一百个美国风格日期的文件

    #! python
    # 创建100个美国风格日期的文件
    
    import os
    import random
    
    for i in range(100):
        mm = random.randint(1, 12)
        dd = random.randint(1, 30)
        yy = random.randint(2000, 2018)
        date = '{:0>2d}-{:0>2d}-{}'.format(mm, dd, yy)
    
        b = os.getcwd() + '\USdate\'
        if not os.path.exists(b):
            os.makedirs(b)
        creatname = b + date + '.txt'
        print(creatname)
        file = open(creatname, 'w')
        file.write('None')
        file.close()
    
    print('OK')
    

    代码

    #! python3
    # renameDates.py - Renames filenames with American MM-DD-YYYY date format
    # to European DD-MM-YYYY.
    
    import os
    import shutil
    import re
    
    # 创建一个识别美国日期的正则,mm-dd-yy
    datePattern = re.compile(r"""^(.*?)     # 前面的所有
                             ((0|1)?d)-    # 月
                             ((0|1|2|3)?d)-# 日
                             ((19|20)dd)  # 年
                             (.*?)$         # 后面的所有
    """, re.VERBOSE)
    
    for amerFilename in os.listdir('.\USdate'):
        mo = datePattern.search(amerFilename)
    
        # Get the different parts of the filename.
        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
    
        # 复制到新文件夹
        absCopydir = os.path.abspath('.') + '\USdate\'
        absWorkdir = os.path.abspath('.') + '\EUdate\'
        if not os.path.exists(absWorkdir):
            os.makedirs(absWorkdir)
        shutil.copy(absCopydir + amerFilename, absWorkdir)
        os.rename(absWorkdir + amerFilename, absWorkdir + euroFilename)
    
    
  • 相关阅读:
    Javascript注销Window认证登录信息
    Asp.Net文件下载
    Python Beginner's Guide
    StructureMap
    Telerik RadGanttView示例
    SharePoint Server 2010 备份还原和部署
    Bootstrap
    Javascript面向对象基础
    .NET Regular Expressions
    Javascript Arguments Callee Caller
  • 原文地址:https://www.cnblogs.com/wudongwei/p/9022097.html
Copyright © 2020-2023  润新知