使用Python按时间顺序批量重命名文件

下面这段Python脚本能我们把一个文件夹下的所有文件,按最后修改的时间顺序,批量加序号前缀进行重命名;
注释比较详尽,就不多费口舌了,上代码:

import os

# 按修改时间排序后,批量重命名文件,并加序号前缀
def renameFilesSortedByTime(dirPath):
    mlist = []

    # 获得文件名列表
    files = os.listdir(dirPath)

    # 获得名称带时间戳的新文件名列表
    for filename in files:
        # 获得文件的最后修改时间
        createTime = os.path.getmtime(dirPath + filename)

        # 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表
        mlist.append(str(int(createTime)) + "-" + filename)

    # 重新给列表排序,这次所有文件按修改时间排序了
    mlist = sorted(mlist)

    # 遍历修改时间戳为序号
    for i in range(len(mlist)):

        # 截取获得原先的文件名
        oldName = mlist[i][11:]

        # 将时间戳部分修改为序号,得到新的文件名
        newName = mlist[i][11:]
        if (i + 1) < 10:
            newName = "00" + str(i + 1) + newName
        elif (i + 1) > 9 and (i + 1) < 100:
            newName = "0" + str(i + 1) + newName
        else:
            newName = str(i + 1) + newName
        # print(newName, oldName)

        # 重命名文件,按修改时间排序并加序号前缀
        os.rename(dirPath + oldName, dirPath + newName)

if __name__ == '__main__':
    renameFilesSortedByTime("D:/MyOutputs/视频/Go语言从入门到精通1-基础篇/")
    print("Job Done!")

加上图形用户界面以后可以成为一个很实用的小工具,Python的开发速度的确不是盖的;

你可能感兴趣的:(Python实用小工具)