Python笔记4 实例之批量修改文件名
一个简单的实现批量修改文件名的例子,以司徒TX的代码为蓝本。
http://www.cnblogs.com/rubylouvre/archive/2011/07/26/2117239.html
ulipad 4.0下测试,全部代码如下:
1 # -*- coding: utf-8 -*- 2 # Filename: BatchChangeFileName.py 3 4 import os 5 import sys 6 7 def TraverseFolder(path): 8 print "<----folder&file---->" 9 no=010 for (path,dirs,files) in os.walk(path):11 print12 no += 113 print "No.%d"%no14 print "path=%s"%path15 if len(dirs)!=0:16 #print type(dirs)17 subfolders = ''18 for dir in dirs:19 subfolders += dir+';'20 subfolders = '[' + subfolders + ']'21 print "subfolders=%s"%subfolders22 if len(files)!=0:23 filenames = ''24 for filename in files:25 filenames += filename+';'26 filenames = '[' + filenames + ']'27 print "files=%s"%filenames28 print "<----folder&file---->"29 30 31 def RenameFile():32 str = u'请输入要处理的文件夹路径====>'33 path = raw_input(str.encode('gbk'))34 print path35 36 str = u'请输入源文件类型(不包括.)====>'37 old_ext = "."+raw_input(str.encode('gbk'))38 print old_ext39 40 str = u'请输入目标文件类型(不包括.)====>'41 new_ext = "."+raw_input(str.encode('gbk')) 42 print new_ext43 44 print #输出空行占位45 TraverseFolder(path)46 print47 48 str = u'开始批量更名'49 print str50 print '<-----------------'51 changedCount = 0 52 for (path,dirs,files) in os.walk(path):53 for filename in files:54 ext = os.path.splitext(filename)[1] #取得文件类型,注意它还带着点号 55 if (ext == old_ext):56 changedCount += 157 newname = filename.replace(old_ext, new_ext)58 oldpath = path + "\\" + filename 59 newpath = path + "\\" + newname60 try:61 os.rename(oldpath, newpath)62 print 'No.%d'%changedCount, 'change', oldpath, 'to', newpath63 except BaseException, e: 64 print(str(e))65 print '----------------->'66 67 68 if __name__ == '__main__':69 RenameFile() 70 71 print 72 raw_input("press Enter to exit")73 sys.exit()
完成这段程序耗费了我2个多小时,主要的时间花在对中文的支持上了。python 2.x的unicode感觉很别扭,由此看3.x还是有一定道理的啦。
PS:曾经提到过不知如何输出信息到message窗口上,下午写代码的过程中竟然形成了一个习惯,勾选"Python->设置参数->Show the selected Arguments at dialog Python Program run",这样每次F5都会弹出参数设置对话框,观察语法错误则选上"Redirect input and output",反之运行则取消勾选。
看来不必着急一上来就求大求全,常常是用着用着就自然而然的清楚了,其他的事情不也是如此嘛,触类旁通啊!
转载于:https://www.cnblogs.com/wyalan/archive/2011/09/20/2182724.html
Python笔记4 实例之批量修改文件名相关推荐
- python列表批量 修改_python实现多进程按序号批量修改文件名的方法示例
本文实例讲述了python实现多进程按序号批量修改文件名的方法.分享给大家供大家参考,具体如下: 说明 文件名命名方式如图,是数字序号开头,但是中间有些文件删掉了,序号不连续,这里将序号连续起来,总的 ...
- python修改文件名字数字_python实现多进程按序号批量修改文件名的方法示例
本文实例讲述了python实现多进程按序号批量修改文件名的方法.分享给大家供大家参考,具体如下: 说明 文件名命名方式如图,是数字序号开头,但是中间有些文件删掉了,序号不连续,这里将序号连续起来,总的 ...
- c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
- python批量读取dat文件_python编写Windows环境下批量修改文件名
在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...
- python 修改文件名_【学习分享】利用python批量修改文件名
1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...
- python 修改文件名_Python 批量修改文件名
本篇梳理了批量修改文件名的Python代码. import os import numpy as nppath = 'C:/Users/Owen/PycharmProjects/Create_File ...
- python改文件名_python批量修改文件名、批量修改xml文件的path和filename
1. python批量修改文件名(控制文件名的起始编号) import os path = "E:/Project/label/fire/" # 目标路径 filename_lis ...
- python批量修改文件名
python之批量修改文件名 文章目录 python之批量修改文件名 前言 一.python批量修改文件名 1.源码 二.python批量修改文件名(按顺序) 1.源码 三.python批量修改文件名 ...
- python批量修改文件名(将中文改为英文首字母)和xml文件
数据集中有中文,网络训练中报错,因此需要把其中的中文替换为英文. 01 批量修改文件名 利用python批量修改文件名,把文件名中的汉字自动替换成其首字母. import os; import pyp ...
最新文章
- 关于PKI架构(使用证书)保护Web访问的安全实现SSL的基本理论
- 一个百亿级日志系统是怎么设计出来的?
- win32 注册表操作
- linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程
- rlwrap插件,实现sqlplus上下翻页
- 结构体内存拷贝的两种方法
- 面试题系列(8):什么叫优雅降级和渐进增强?
- jquery-数字渐变
- java + testng wsdl 测试_在测试中使用XPATH断言的策略
- 获取元素到页面上的位置
- 站立会议(11月23日
- RT-Thread配置SPI-Flash(W25Q256)
- linux检测扩容卡,教你检测SD卡内存卡是否被扩容过的方法
- Windows Knowledge
- 【智能家居】智能单火开关目前普遍存在的问题
- Unity Keyword
- ntds(600)ntdsa:系统错误1453配额不足及恢复过程记录
- EPICS简单的设备支持程序
- html里的常用特殊符号表示大全
- c语言floor函数_floor()函数以及C ++中的示例