zoukankan      html  css  js  c++  java
  • python3_learn 实现文件夹内批量对图片重命名

    初衷

    1. 练习Python,提高动手能力。
    2. 珍藏的壁纸文件夹名命有点乱。
    3. 可以学习下一些基础的库

    开始(.jpg,无筛选)

    First

    首先找到OS库,寻找可以遍历文件名的。找到了OS.walk()

    os.walk(top, topdown=Ture, onerror=None, followlinks=False)  
    该函数可以得到一个三元tupple(dirpath, dirnames, filenames).
    dirpath:string,代表目录的路径;
    dirnames:list,包含了当前dirpath路径下所有的子目录名字(不包含目录路径);
    filenames:list,包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)
    注意,dirnames和filenames均不包含路径信息,如需完整路径,可使用os.path.join(dirpath, dirnames)

    通过遍历感受下os.walk的使用。如果现在只做当前目录的话,只需要第一个dirpath即可。

    Second

    既然我们需要重命名,就需要用到os中的os.rename()。因为文件名不包含目录文件,我们可以通过os.path.join()来合并目录命,然后循环重命名到结束。

    但是在rename前发现,这种的完整路径每次都需要带上后缀,十分的不方便。

    Third

    分离文件名字和后缀名的话可以用到os.path.splitext(),但是想想能不能做个分开的筛选,PNG归为一堆,JPG归为一堆。这里都是jpg,筛选的晚上继续补全。这里就把jpg来重命名。

    Final

    最后完成的代码

    import os  
    
    def file_name(file_dir):
        dirpath_list=[]
        filenames_list=[]
        old_route=[]
        new_route=[]
        yunying=0
        for dirpath, dirnames, filenames in os.walk(file_dir):
            dirpath_list.append(dirpath)
            filenames_list.append(filenames)
        filenames_list0=filenames_list[0][:]
    
        for i in filenames_list0:
            old_route.append(os.path.join(dirpath_list[0],i))
            new_route.append(os.path.join(dirpath_list[0],'GuiMie'+str(yunying)+'.jpg'))
            yunying+=1
        try:
            for i in range(len(old_route)):
                    os.rename(old_route[i],new_route[i])
            print('rename successfully')
        except Exception as e:
            print(e)
    
    if __name__ == '__main__':
        file_name(r'C:UsersdellPictures鬼灭')

    效果图:

  • 相关阅读:
    asp.net IIS session丢失 session Key丢失
    本地时间和GMT(UTC)时间的转换(C#)
    <img/>标签onerror事件在IE下的bug和解决方法
    ASP.NET 页面传值方法
    asp.net中URL参数加密解密过程
    Windows 7 MVC2.0部署到IIS7【原创】
    WHENCREATERECORD的三大定律一大推论
    OAF页面查找数据源
    查询用户客户化的文件配置
    EBS AP、AR所有含CCID的业务表
  • 原文地址:https://www.cnblogs.com/BOHB-yunying/p/12218614.html
Copyright © 2011-2022 走看看