python3_learn 实现文件夹内批量对图片重命名
初衷
- 练习Python,提高动手能力。
- 珍藏的壁纸文件夹名命有点乱。
- 可以学习下一些基础的库

开始(.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:\Users\dell\Pictures\鬼灭')
效果图:

python3_learn 实现文件夹内批量对图片重命名的更多相关文章
- Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...
- Java zip 压缩 文件夹删除,移动,重命名,复制
FileUtil.java import java.io.*; import java.util.List; import java.util.zip.ZipEntry; import java.ut ...
- MFC对文件文件夹转移、删除、重命名、复制【转】
HFileOperation()函数主要对文件夹有四种操作:复制,删除,移动,重命名. 写了四个函数.可以很好的对文件夹进行操作. //函数名:MoveFolder //参数:lpszFromPath ...
- 批量生成文件夹内所有文件md5
说明:md5批量生成批处理脚本,无需安装任何软件,直接调用系统文件进行生成,简单基于windows命令编写了一个批量生成md5值的脚本. 使用说明:新建文本文档,命名为get_md5.bat,直接将代 ...
- Linux批量替换文本,文件夹内所有文本内容
1.替换文件夹内所有文件匹配的字符串 sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径` 例如将/var/www/test文件夹下的所有文件内容中的 ...
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法 首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...
- Python脚本:删除文件夹下的重复图片,实现图片去重
近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...
- python对文件夹内文件去重
昨天无聊写了一个百度图片爬虫,测试了一下搜索"斗图".一下给我下了3000多个图片,关键是有一半以上重复的.what a fuck program ! 好吧,今天写一个文件去重功能 ...
- ftp下载目录下所有文件及文件夹内(递归)
ftp下载目录下所有文件及文件夹内(递归) /// <summary> /// ftp文件上传.下载操作类 /// </summary> public class FTPH ...
随机推荐
- Linux常用的命令收藏
摘要 Linux现在已经是大部分草根站长不可缺少的一部分,想要维护好你的网站就必须懂得常用的linux命令,这个可以加快你对服务器的维护,运营:同时Linux在嵌入式系统开发中有不可替代的优势,越来越 ...
- 重磅!刷新两项世界纪录的腾讯优图人脸检测算法DSFD开源了!
近日,知名开源社区Github上有个名为DSFD(Dual Shot Face Detector)的算法引起了业内关注,它正是来自于腾讯优图.目前,该算法已经被计算机视觉顶级会议CVPR 2019接收 ...
- webpack配置打包vue文件
1.首先全局安装node,和npm.检查是否安装成功 2.新建一个文件下,进入该文件夹. 前先执行 npm init -y 然后就会在文件夹下出现一个package.json文件 然后执行 npm i ...
- 深入理解Java AIO(一)—— Java AIO的简单使用
深入理解Java AIO(一)—— Java AIO的简单使用 深入理解AIO系列分为三个部分 第一部分也就是本节的Java AIO的简单使用 第二部分是AIO源码解析(只解析关键部分)(待更新) 第 ...
- 模块 shutil_zipfile_tarfile压缩解压
shutil_zipfile_tarfile压缩解压 shutil 模块 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) #将 ...
- [leetcode] 树 -Ⅰ
均为 Simple 难度的水题. 二叉树的中序遍历 题目[94]:给定一个二叉树,返回它的中序 遍历. 解题思路:Too simple. class Solution { public: vector ...
- springboot集成通用mapper详细配置
通常,我们利用mybatis写持久层方法.要么按照传统定义mapper方法,定义xml文件的方式,全部手写.要么需要通过mybatis-generator逆向工程插件生成大量的xxxExample文件 ...
- docker安装Elasticsearch7.6集群并设置密码
docker安装Elasticsearch7.6集群并设置密码 Elasticsearch从6.8开始, 允许免费用户使用X-Pack的安全功能, 以前安装es都是裸奔.接下来记录配置安全认证的方法. ...
- 1036 Boys vs Girls (25分)(水)
1036 Boys vs Girls (25分) This time you are asked to tell the difference between the lowest grade o ...
- Pytest系列(11)- 失败重跑插件pytest-rerunfailures详细使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 环境前提 以下先决条件才能使用py ...