Python批量整理文件名小案例(附公众号第一批赠书活动中奖名单)

问题背景:用了半年时间录制了200集Python视频,内容结合了我系列教材《Python程序设计基础》、《Python程序设计(第2版)》和《Python可以这样学》(作者:董付国,清华大学出版社出版)三本书的大部分内容。现在视频录制差不多告一段落了,想整理一个清单。

在资源管理器里查看,视频文件名的格式如下图所示:

现在想整理成下图所示的格式:

根据以上的需求,写了下面的代码用来整理这些文件名:

import os

import re

path = r'D:\Python教学视频'

avis = [fn[:-4]\

        for fn in os.listdir(path)\

        if fn.endswith('.avi')]

def sort(item):

    '''首先按章节名字排序

然后按序号从小到大排序'''

    index = item.index(':')

    item = item[:index]

    # 查找文件名中的第一组数字,序号

    digits = re.findall(r'\d+', item)[0]

    # 返回值作为sort()方法的排序规则

    return (item[:item.index(digits)],\

            int(digits))

# 按指定规则进行排序

avis.sort(key=sort)

chapters = []

# 调整输出格式

for item in avis:

    # 文件名中第一组数字之前的是“章”的名字

    digits = re.findall(r'\d+', item)[0]

    index = item.index(digits)

    chapter = item[:index]

    if chapter not in chapters:

        chapters.append(chapter)

        print(chapter)

    # 文件名中冒号后面是“节”的名字

    print('\t', item[item.index(':')+1:])

--------------我是分割线-------------

“Python小屋”公众号近期主要活动:

1、赠书活动:详情请进入公众号以后通过菜单“最新资源”===>“历史文章分类表”进行查看

2、Python师资培训班:8月6日-12日,济南,面向全国高校老师和企业朋友,通知详见关于举办2017年暑期全国高校教师 “Python编程及应用”培训班通知,赠送Python教材2本、Python教学PPT超过1600页,Python教学视频140集,Python教学案例300个。补充说明:如果不需要安排住宿的话,5天学费2100元(含午饭)。

--------------又见分割线-------------

根据公众号赠书活动的精神,为庆祝微信公众号“Python小屋”开通一周年,于今天(2017年6月29日)上午8点给第1、1000、2000、3000、4000、5000、6000位关注的朋友赠书一套。下面是截图,请获赠的朋友通过公众号消息或留言把详细地址和收件人联系电话告诉我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值