python文件_批量改名

本文介绍了一个Python脚本,用于批量修改指定文件夹下所有图片文件的名称,将其后缀名前添加'_test'标识。脚本通过判断文件类型、遍历文件路径并使用os模块进行文件操作实现此功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 #! /usr/bin/env python
 2 #coding=gbk
 3 #文件操作实例--将文件夹下所有图片名称加上'_test'
 4 import re,os,time
 5 #str.split(path) 分割字符串
 6 #'连接符'.join(list)将列表组成字符串
 7 
 8 def change_name(path):
 9     global i #这里要定义在函数里面,定义在外面会报错
10 #判断路径是否是文件或者目录,如果不是,返回错误
11     if not os.path.isdir(path) and not os.path.isfile(path):
12         return false
13     if os.path.isfile(path):
14         file_path=os.path.split(path)#分解文件路径组成list存入file_path
15         lists=file_path[1].split('.')#分割文件与文件扩展名
16         file_ext=lists[-1]#取出后缀名 等价于:file_ext=lists[1],list只有两个数
17         img_ext=['bmg','jpeg','gif','psd','png','jpg']#图片后缀名
18         if file_ext in img_ext:
19             #这里将新文件路径组成,改名的话就将list[0]替换掉
20             os.rename(path,file_path[0]+'/'+lists[0]+'_test.'+file_ext)
21             i=i+1
22     elif os.path.isdir(path):
23         for x in os.listdir(path):
24             #通过join将文件添加到目录后面组成文件
25             change_name(os.path.join(path,x))#os.path.join()在路径处理上很有用
26 os.chdir("g:/文件操作")
27 img_dir = 'g:\\文件操作\\图片1'
28 img_dir = img_dir.replace('\\','/')
29 i=0
30 start=time.time()#开始时间
31 change_name(img_dir)
32 c=time.time()-start#计算消耗时间
33 print('共处理了%s张图片'%(i))
34 print ('程序运行耗时:%0.2f'%(c))

这里如果将global i 定义在函数外面,运行的时候会报错:local variable 'i' referenced before assignment。这个错误的意思就是变量i在引用前没有定义,但是在最开始已经定义了的,通过global关键字引用全局变量来解决问题。在python的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。

转载于:https://www.cnblogs.com/tingfenglin/p/4424289.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值