分享

使用Python实现批量更改文件夹下图片的名称

 Python进阶者 2023-02-10 发布于广东

回复“资源”即可获赠Python学习资料

世乱同南去,时清独北还。

大家好,我是皮皮。

一、前言

前几天在Python白银交流群有个叫【belongs】的粉丝问了一个使用Python实现批量更改文件夹下图片的名称的问题,如下图所示。

他有个文件夹,里面都是照片,怎么批量更改文件名?只需要文件名依次递增,如1.gif,2.gif。

二、实现过程

这里【月神】给了一个解决方法,直接上代码了。

from pathlib import Path

image_dir = r'image'
[i.replace(i.parent.joinpath(f'{num}.gif')) for num, i in enumerate(Path(image_dir).glob('*.*'), start=1)]

确实非常赞,只需要改image_dir路径就行了,直接一步到位,简直太强了!

后来【古月】也给了一个代码,这里拿出来分享给大家。

import os

path = r'D:\hu\python练习\视频剪辑练习\测试图片'  # 需要命名的路径
filelist = os.listdir(path)
count = 0  # 起始命名数字
for file in filelist:
    print(file)
for file in filelist:
    Olddir = os.path.join(path, file)
    if os.path.isdir(Olddir):
        continue
    filename = os.path.splitext(file)[0]
    filetype = os.path.splitext(file)[1]
    Newdir = os.path.join(path, str(count).zfill(4) + filetype)  # 数字2为命名位数,若数量100以上改3,以此类推
    os.rename(Olddir, Newdir)

    count += 1

也是可以实现的。

后来【瑜亮老师】还给了一个方法,适合在【windows】系统下操作,方法是:全选图片,然后在全选的情况下对第一个图片重命名,后面其他的自动会有序号。

如果用代码删除重复的,可以用图片的大小来删除,os.path.getsize可以知道文件的大小,然后删除图片文件大小相同的就容易了。这里还有一个小文章,感谢粉丝【憶💫 逍遥】分享,https://www.jb51.net/article/212072.htm

三、总结

大家好,我是皮皮。这篇文章主要分享了使用Python实现批量更改文件夹下图片的名称的问题,文中针对该问题给出了具体的解析和代码演示,一共两个方法,帮助粉丝顺利解决了问题。

最后感谢粉丝【belongs】提问,感谢【月神】、【古月】给出的代码和具体解析,感谢【dcpeng】、【瑜亮老师】、【憶💫 逍遥】等人参与学习交流。

------------------- End -------------------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约