机器学习和生物信息学实验室联盟

标题: 用python写的批量重命名文件 [打印本页]

作者: hllysx    时间: 2012-10-4 21:51
标题: 用python写的批量重命名文件
国庆长假,大家肯定都照了好多照片,是不是觉得照片命名看着很不爽呢,初学python,写了个文件重命名程序,前缀+编号

  1. #!\usr\bin\env python
  2. import os
  3. import shutil

  4. # 判断是否是路径,以及是否存在
  5. def checkDir(dirPath):
  6.     if not os.path.isdir(dirPath):
  7.         return 0
  8.     else:
  9.         return 1

  10. # 验证输入的字符是否是合法文件名函数
  11. # 文件名不能包含下载任何字符之一: \/:*?"<>|
  12. def checkName(qianzhui):
  13.     signsstr = '\/:*?"<>|'
  14.     for sign in signsstr:
  15.         if sign in qianzhui:
  16.             return 0
  17.     else:
  18.         return 1

  19. #主程序开始
  20. print "重命名后所有文件以前缀加数字编号为文件名"
  21. while True:
  22.     dirPath = raw_input("目录(本目录时可直接回车):")
  23.     if dirPath=='':
  24.         dirPath='.'
  25.     if not checkDir(dirPath):
  26.         print "输入的路径不正确!"
  27.         continue
  28.     else:
  29.         break
  30. print (dirPath)
  31. while True:
  32.     qianzhui = raw_input("前缀{无前缀时直接回车}:")
  33.     if not checkName(qianzhui):
  34.         print "输入的前缀不合法!"
  35.         continue
  36.     else:
  37.         break
  38. dir = dirPath

  39. global x
  40. x=0
  41. for i in os.listdir(dir):
  42.     if i=='renameFiles.exe' or i=='renameFiles.py':
  43.         continue
  44.     else:
  45.         x=x+1
  46.         print x
  47.         oldname = dir+'\\'+i
  48.         newname = dir+'\\'+qianzhui+''+str(x)+ '.'+i.split(".")[1]
  49.         os.rename(oldname,newname)
  50.         print newname
  51.    
  52. print 'well done'
复制代码
电脑安装python的话,直接保存为renameFiles.py文件,cmd后 python renameFiles.py
windows下的话,可以用py2exe把python程序编译成exe,在没安装python的机器运行.Linux默认都安装了python
作者: xmubingo    时间: 2012-10-4 22:28
哇,技术女...
作者: Genie    时间: 2012-10-5 07:51
玲玲怎么也python起来拉啊?哇,coding女、、、、
作者: zouquan    时间: 2012-10-5 07:54
哈哈,技术女是最可爱的人。。。
作者: endual    时间: 2012-10-5 10:03
佩服佩服。
python 编写程序,用过eclipse的插件,顶好。

推荐一个实现画图的包 matplotlib (python matlib)
http://matplotlib.org/ 在数据挖掘中可以作为可视化分析的图,也很好的




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2