python文件_批量改名
2015-04-14 10:54
239 查看
#! /usr/bin/env python #coding=gbk #文件操作实例--将文件夹下所有图片名称加上'_test' import re,os,time #str.split(path) 分割字符串 #'连接符'.join(list)将列表组成字符串 def change_name(path): global i #这里要定义在函数里面,定义在外面会报错 #判断路径是否是文件或者目录,如果不是,返回错误 if not os.path.isdir(path) and not os.path.isfile(path): return false if os.path.isfile(path): file_path=os.path.split(path)#分解文件路径组成list存入file_path lists=file_path[1].split('.')#分割文件与文件扩展名 file_ext=lists[-1]#取出后缀名 等价于:file_ext=lists[1],list只有两个数 img_ext=['bmg','jpeg','gif','psd','png','jpg']#图片后缀名 if file_ext in img_ext: #这里将新文件路径组成,改名的话就将list[0]替换掉 os.rename(path,file_path[0]+'/'+lists[0]+'_test.'+file_ext) i=i+1 elif os.path.isdir(path): for x in os.listdir(path): #通过join将文件添加到目录后面组成文件 change_name(os.path.join(path,x))#os.path.join()在路径处理上很有用 os.chdir("g:/文件操作") img_dir = 'g:\\文件操作\\图片1' img_dir = img_dir.replace('\\','/') i=0 start=time.time()#开始时间 change_name(img_dir) c=time.time()-start#计算消耗时间 print('共处理了%s张图片'%(i)) print ('程序运行耗时:%0.2f'%(c))
这里如果将global i 定义在函数外面,运行的时候会报错:local variable 'i' referenced before assignment。这个错误的意思就是变量i在引用前没有定义,但是在最开始已经定义了的,通过global关键字引用全局变量来解决问题。在python的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。
相关文章推荐
- Python 文件批量改名
- python3.6深度学习图片集处理项目源代码(为cnn等准备图片集合,批量生成、删除、改名、旋转、调整图片大小,包括删除指定路径下所有文件)
- python文件批量改名
- python文件批量改名
- python脚本文件批量改名
- python批量文件 改名
- 用PYTHON對文件批量改名
- python paramiko 多线程批量执行指令及批量上传文件和目录
- Python 批量给文件重命名,添加文件名后缀
- 【python】解析不规则json文件批量获取指定字符串
- Python脚本--批量更改本地md文件的图片链接
- Python实例31[批量对目录下文件重命名]
- 使用python批量修改文件的后缀
- Linux文件批量改名/排序总结(rename,sort等)
- python批量修改文件后缀示例代码分享
- 编写python脚本-->批量下载淘宝 2012年ADC技术嘉年华PDF文件
- shell批量创建文件及改名
- Python 批量重命名文件
- Python批量文件重命名
- 文件批量改名