python文件_批量改名
#! /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文件_批量改名的更多相关文章
- python文件_改名2
#手动选择路径,批量改名 import os,re,time,tkFileDialog global i #文件名后面增加后缀:txt,png,bng,jpeg,jpg,gif,zip类型的文件 de ...
- python文件_目录
#! /usr/bin/env python #coding=gbk import os import time #设置文件的默认路径,当指定的目录不存在时,引发异常:WindowsError:[er ...
- python文件_读取
1.文件的读取和显示 方法1: f=open(r'G:\2.txt') print f.read() f.close() 方法2: try: t=open(r'G:\2.txt') print t.r ...
- python文件_写入
1.输入的数据写入到一个文本: #这个写入操作不会将原来的数据覆盖掉 n=raw_input('请输入写入的文件数据:') fl2=open('g:/2.txt','a') fl2.write('\n ...
- python文件批量改名
python对文件进行批量改名用到的是os模块中的listdir方法和rename方法. os.listdir(dir) :获取指定目录下的所有子目录和文件名 os.rename(原文件名,新文件名 ...
- python读取txt批量创建文件
python读取txt批量创建文件 pythonbatchfile 前几天有个小问题, 需要批量建立很多文件夹,, 所以手动写了个小的脚本, 后续可以直接使用 读取目录文件, 然后直接创建相应的文件 ...
- 用Python写的批量文件重命名
有些时候下载图片或其他文件,文件名都怪怪的,可选的办法是下载一个文件批量重命名的软件.当然,如果想自己'DIY'一把的话编个Python脚本最好不过了. 下面的代码实现的对指定类型的文件进行批量重 ...
- [原创]Python批量操作文件,批量合并
最近几个小伙伴在手动合并一些文本文件,感觉可以用Python批量实现,就有了这段代码 import os import re import sys def printEnter(f1): #每两个文件 ...
- Batch File Rename Utility(文件批量改名软件) 1.1.4231
软件名称: Batch File Rename Utility(文件批量改名软件) 1.1.4231.23098 软件语言: 英文 授权方式: 免费软件 运行环境: Win7 / Vista / Wi ...
随机推荐
- http://www.cnblogs.com/zhuli19901106/p/4356419.html
http://www.cnblogs.com/zhuli19901106/p/4356419.html
- uC/OS 的任务调度解析 (转)
uC/OS 的任务调度解析 1.任务调度器启动之后(初始化,主要是TCB的初始化),就可以创建任务,开始任务调度了,实际上第一个任务准确的说不是进行任务切换,而是进行启动当前最高优先级任务.uC/OS ...
- webpack ,react
一小时包教会 —— webpack 入门指南 http://***/Article/50764 ------------------ 轻松入门React和Webpack http://www.in ...
- 编写Swift代码的其他工具
Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub.com,左栏是代码编辑窗口,右栏是运行结果窗口.可以在任何平台下编译和运行Swift程序.
- cf C. Prime Number
http://codeforces.com/contest/359/problem/C 先求出分子的公因子,然后根据分子上会除以公因子会长生1,然后记录1的个数就可以. #include <cs ...
- wireshark抓一抓,看是不是另一个机器也企图DHCP
早上的问题,昨晚四点睡,今早九点半起... 到公司处理此问题,不知道相关性大不大..
- HADOOP之HIVE+MYSQL,HBASE+ZOOKEEPER
这个搞得有劲哈哈 继续...继续....
- PlayerPrefs类
该类用于本地持久化保存与读取数据工作原理是:以键值对的形势将数据保存在文件中.该类可以保存与读取3种基本的数据类型,它们是浮点型.整型和字符串型,涉及的方法如下.SetFloat():保存浮点类型Se ...
- Visio 下载,及密钥
Visio2010简体中文高级版(永久激活密钥:GR24B-GC2XY-KRXRG-2TRJJ-4X7DC) ed2k://|file|cn_visio_2010_x64_516562.exe|515 ...
- Hadoop:Task process exit with nonzero status of 1 异常
在运行hadoop程序时经常遇到异常 java.io.IOException: Task process exit with nonzero status of 1.网上很多博文都说是磁盘不够的问题. ...