python文件_批量改名

 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关键字。

时间: 2024-10-07 07:04:29

python文件_批量改名的相关文章

python文件_改名2

#手动选择路径,批量改名 import os,re,time,tkFileDialog global i #文件名后面增加后缀:txt,png,bng,jpeg,jpg,gif,zip类型的文件 def change_name(path,text): global i if not os.path.isdir(path) and not os.path.isfile(path): return False elif os.path.isfile(path): file_text=os.path.

批量创建文件,批量改名,批量删除

#使用for循环批量创建10个文件 #!/bin/sh if [ ! -d $PWD/file ] && mkdir -p $PWD/file then path=$PWD/file for count in `seq 10` do cd $path && touch linux-$count.jpg done else exit 1 fi #使用for循环批量改名 #!/bin/sh if [ -d $PWD/file ] && cd $PWD/file

如何使用邓西百度网盘批量重命名工具对百度网盘中的文件进行批量改名、删除等

做网盘的小伙伴都有这种需求,从上家转存了资料后,全部带得有别人的广告名称,如果手工在电脑上一个一个的去除,更别说手机安卓上面了(百度网盘批量重命名安卓 /百度网盘批量重命名器安卓版/手机百度云批量重命名)那是相当的费时费力,下面就介绍如何使用工具来解决(百度云文件名批量修改 /新版百度网盘重命名/百度网盘批量修改文件名 /百度网盘批量处理软件/百度网盘批量改文件名/百度网盘批量改名/百度云文件名批量修改/网盘文件改名批量/百度网盘如何批量更改后缀名/百度网盘批量删除重复文件 )这个头痛的事情了.

python文件_读取

1.文件的读取和显示 方法1: 1 f=open(r'G:\2.txt') 2 print f.read() 3 f.close() 方法2: 1 try: 2 t=open(r'G:\2.txt') 3 print t.read() 4 finally: 5 if t: 6 t.close() 方法3: 1 with open(r'g:\2.txt') as g: 2 for line in g: 3 print line python虽然每次打开文件都要关闭,但是可能会由于异常导致未关闭,因

百度网盘文件名称批量添加前后缀(五)

下面介绍百度网盘8种批量重命名方式中的文件夹或文件批量添加前后缀,比如想批量在文件名称前面添加上自己的微信或公众号等信息,则可以使用批量添加前后缀功能,上万个文件名次的修改也可以很快完成.具体操作如下: 下载地址:dwz.cn/JTUmWpfD 首先,下载百度网盘批量处理软件,解压后运行其中的bdmaster.exe文件,提示:软件不要放在含有中文名称的路径下,否则会出现兼容性闪退. 其次,登录自己的百度网盘账号,就像在浏览器中使用一样,勾选需要批量添加前后缀的文件或文件夹,如下图: 如果是想在

44.编译Python文件

目录 一. 编译Python文件 二. 批量生成.pyc文件 一. 编译Python文件 为了提高加载模块的速度,强调强调强调:提高的是加载速度而绝非运行速度.python解释器会在__pycache__目录中下缓存每个模块编译后的版本,格式为:module.version.pyc.通常会包含python的版本号.例如,在CPython3.3版本下,spam.py模块会被缓存成__pycache__/spam.cpython-33.pyc.这种命名规范保证了编译后的结果多版本共存. Python

Batch File Rename Utility(文件批量改名软件) 1.1.4231

软件名称: Batch File Rename Utility(文件批量改名软件) 1.1.4231.23098 软件语言: 英文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP / Win2008 软件大小: 2.2MB 图片预览: 软件简介: Batch File Rename Utility是一个易于使用的文件和文件夹改名工具.提供灵活的选择配置的规则,可以组合和堆叠.它允许你替换字符,删除/添加号码,删除/添加文本,变更,分裂名称等等.该计

[原创]Python批量操作文件,批量合并

最近几个小伙伴在手动合并一些文本文件,感觉可以用Python批量实现,就有了这段代码 1 import os 2 import re 3 import sys 4 5 def printEnter(f1): #每两个文件之间的换行操作 6 f1.write("\n\n\n") 7 for i in range(23) : 8 f1.write("☆★") 9 f1.write("\n\n\n") 10 11 def mySplit(name, c

Python实例31[批量对目录下文件重命名]

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix Geeks.mobi python代码如下 import osimport re def rename_dir(dir,regex,f):  if not os.path.isdir(dir) or