一个简单的实现批量修改文件名的例子,以司徒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 实例之批量修改文件名相关推荐

  1. python列表批量 修改_python实现多进程按序号批量修改文件名的方法示例

    本文实例讲述了python实现多进程按序号批量修改文件名的方法.分享给大家供大家参考,具体如下: 说明 文件名命名方式如图,是数字序号开头,但是中间有些文件删掉了,序号不连续,这里将序号连续起来,总的 ...

  2. python修改文件名字数字_python实现多进程按序号批量修改文件名的方法示例

    本文实例讲述了python实现多进程按序号批量修改文件名的方法.分享给大家供大家参考,具体如下: 说明 文件名命名方式如图,是数字序号开头,但是中间有些文件删掉了,序号不连续,这里将序号连续起来,总的 ...

  3. c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...

    处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...

  4. python批量读取dat文件_python编写Windows环境下批量修改文件名

    在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...

  5. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  6. python 修改文件名_Python 批量修改文件名

    本篇梳理了批量修改文件名的Python代码. import os import numpy as nppath = 'C:/Users/Owen/PycharmProjects/Create_File ...

  7. python改文件名_python批量修改文件名、批量修改xml文件的path和filename

    1. python批量修改文件名(控制文件名的起始编号) import os path = "E:/Project/label/fire/" # 目标路径 filename_lis ...

  8. python批量修改文件名

    python之批量修改文件名 文章目录 python之批量修改文件名 前言 一.python批量修改文件名 1.源码 二.python批量修改文件名(按顺序) 1.源码 三.python批量修改文件名 ...

  9. python批量修改文件名(将中文改为英文首字母)和xml文件

    数据集中有中文,网络训练中报错,因此需要把其中的中文替换为英文. 01 批量修改文件名 利用python批量修改文件名,把文件名中的汉字自动替换成其首字母. import os; import pyp ...

最新文章

  1. 关于PKI架构(使用证书)保护Web访问的安全实现SSL的基本理论
  2. 一个百亿级日志系统是怎么设计出来的?
  3. win32 注册表操作
  4. linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程
  5. rlwrap插件,实现sqlplus上下翻页
  6. 结构体内存拷贝的两种方法
  7. 面试题系列(8):什么叫优雅降级和渐进增强?
  8. jquery-数字渐变
  9. java + testng wsdl 测试_在测试中使用XPATH断言的策略
  10. 获取元素到页面上的位置
  11. 站立会议(11月23日
  12. RT-Thread配置SPI-Flash(W25Q256)
  13. linux检测扩容卡,教你检测SD卡内存卡是否被扩容过的方法
  14. Windows Knowledge
  15. 【智能家居】智能单火开关目前普遍存在的问题
  16. Unity Keyword
  17. ntds(600)ntdsa:系统错误1453配额不足及恢复过程记录
  18. EPICS简单的设备支持程序
  19. html里的常用特殊符号表示大全
  20. c语言floor函数_floor()函数以及C ++中的示例

热门文章

  1. Spark内核解析之一:内核概述
  2. php爬虫伪造请求头,Nodejs 伪造IP 爬取图片
  3. mysql的基本语句
  4. k8s使用glusterfs实现动态持久化存储
  5. rsync通过服务同步、linux日志、screen工具
  6. ERROR: modinfo: could not find module rbd FATAL
  7. linux下repair filesystem模式修复方法
  8. MS-SQL的智能脚本智能提示失效丢失
  9. 如何编写高质量的代码二 - 类的设计
  10. idea阅读器插件开发实现