利用python快速对文件批量改名怎样实现
Admin 2022-09-05 群英技术资讯 633 次浏览
同事问我会不会改目录下的文件名,我大叫一声:你傻呀,你不会右键重命名呀呀,或者按 F2快捷键,但是当我解压完同事的目录后,人都傻了,自己看图哈!!
偷偷告诉你,这样的文件有一大堆,如果你右键估计一天才能搞定,顿时我就不敢出声了。
先看同事的需求是什么:帮他去掉类似 **[图灵程序设计丛书].**的词,只留下书名
看到这,请问小伙伴们你是怎么解决的,欢迎留言一起吐槽,哈哈哈哈哈哈。
在我思考如何解决同事这个问题时,我的脑海中突然灵光一闪,之前写过一键修改图片大小的程序,那我为何不也写个程序直接一键修改文件名呢!!!说干就干
考虑到时效性,我用了Python来写这个小程序,欢迎留言交流你的程序:上代码 -->
import os import re import time """对指定目录下的所有文件进行有选择的修改名称""" def ReFileName(dirPath,pattern): """ :param dirPath: 文件夹路径 :param pattern: 正则匹配模式 :return: """ # 对目录下的文件进行遍历 for file in os.listdir(dirPath): # 判断是否是文件 if os.path.isfile(os.path.join(dirPath, file)) == True: # 用正则匹配,去掉不需要的词 newName = re.sub(pattern, "", file) # 设置新文件名 newFilename = file.replace(file, newName) # 重命名 os.rename(os.path.join(dirPath, file), os.path.join(dirPath, newFilename)) print("文件名已统一修改成功") if __name__ == '__main__': timeStart = time.time() dirPath = r"F:\test" pattern = re.compile(r'\[{1}(.+)]\.') ReFileName(dirPath,pattern) timeEnd = time.time() print("程序走了%d秒"%(timeEnd-timeStart))
代码简要说明一下:
1.因为这里需求只是简单的修改文件名,所以小伙伴们千万不要用open()……这种方法,虽然它也是可以的,但是因为文件太多,读写太慢,时效极低。
2. 还有需要替换或者提取的文件名,不仅限于图中所示,你可以灵活运用正则表达式来达到自己的需求。
看效果:
再看程序运行时间:
此处是不是应该要有个赞,哈哈哈哈!赶快动起来吧!!!!
这里还分享一个干货给小伙伴们哈!!
python获取当前目录下的一些信息---->
"""获取当前目录下的信息""" def ReFileName1(dirPath): for root, dirs, files in os.walk(dirPath): print(root) # 当前目录路径 print(dirs) # 当前路径下所有子目录 print(files) # 当前路径下所有非目录子文件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
内容介绍一,登录邮箱,获取授权码二,替换参数总结一,登录邮箱,获取授权码二,替换参数给多人发送邮箱,我只是做了个循环,把每个人得授权码循环输入了。把授权码和邮箱替换成自己得就行,内容你可以自己定义im
这篇文章主要介绍怎么使用Python求解斐波那契第n项,方法多样,逻辑清晰,代码简单详细,有这方面需要的朋友可以参考下
这篇文章给大家分享的是如何用怎样用python绘制雷达图的内容。雷达图相比其他标图有其优势和特点,能应用的场景也很多,小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
这篇文章主要介绍了如何生成对角矩阵 numpy.diag,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008