这篇文章主要讲解了“怎么用Python一键修改上万个文件名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用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. 还有需要替换或者提取的文件名,不仅限于图中所示,你可以灵活运用正则表达式来达到自己的需求。
再看程序运行时间:
"""获取当前目录下的信息"""def ReFileName1(dirPath): for root, dirs, files in os.walk(dirPath): print(root) # 当前目录路径 print(dirs) # 当前路径下所有子目录 print(files) # 当前路径下所有非目录子文件
感谢各位的阅读,以上就是“怎么用Python一键修改上万个文件名”的内容了,经过本文的学习后,相信大家对怎么用Python一键修改上万个文件名这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!