当前位置: 首页 > 后端技术 > Python

Python实现批量重命名

时间:2023-03-26 14:01:36 Python

原文:千里马-Python实现批量重命名最近在网上下载了一个漫画。漫画以图片的形式呈现。下载后发现每张漫画的文件名都不是很规则,又长又复杂,想改成按张数递增的,一个一个改文件名太费工夫了一,而且太浪费时间了,所以想用Python写个脚本实现批量重命名的操作。该文件存储在D:/temp路径中。文件名类似上图,图片很多。这里只用一小部分来演示。为了完成脚本,查看了文件名相关的Python库,发现需要Python标准库中的os库。.1.rename函数Python有一个重命名文件的函数:os.rename(src,dst,*,src_dir_fd=None,dst_dir_fd=None)这个函数是把文件名从src改成dst,最后两个参数如果忽略就忽略你不需要它。2、获取文件名函数我们还需要获取原始文件名,即src。os库中还有一个函数可以获取文件名:os.listdir(path='.')这个函数可以列出某个目录下的所有文件名。我们可以使用for循环获取os.listdir(r'D:/temp')中文件的每个文件名:print(file)output:%80%90%E4%B8%89%E7%A7%8B%E4.jpg%AE%E5%8B%92%E6%9E%81%E7%A6.jpg%E6%B3%B0%E6%99%AE%E5%8B%92.jpg%E8%A3%85%E5%85%E6%B3%B0%E6.jpg三、路径合并功能由于图片文件和Python脚本不在同一个文件夹,所以src和dst不是简单的文件名,而是由路径+文件名组成。比如%80%90%E4%B8%89%E7%A7%8B%E4.jpg这个文件其实就是E:/temp/%80%90%E4%B8%89%E7%A7%8B%E4.jpg,所以我们需要将这两部分结合起来。Python的os库中有一个函数:os.path.join(path,*paths)这个函数将一个或多个路径部分进行合理的拼接,返回值是path和*paths所有值的连接。上面的例子可以这样写:os.path.join(r'D:/temp','%80%90%E4%B8%89%E7%A7%8B%E4.jpg')批量重命名脚本然后就可以利用上面的知识编写如下完整的脚本(GitHub-Yajanan/FilesPathRename):#FilesBatchRename.py#importoslibraryimportos#图片存放路径path=r"D:/temp"#遍历和为os.listdir(path)中的文件更改文件名num=1:os.rename(os.path.join(path,file),os.path.join(path,str(num))+".jpg")num=num+1运行,可以看到结果如下:满足我们的需求。(文末)