Python批量修改文件名


处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块:

import os

def RenameFiles(srcdir):
    #将目录下所有的文件命名为数字开头的名称
    srcfiles = os.listdir(srcdir)
    index = 1
    for srcfile in srcfiles:
        print srcfile
        sufix = os.path.splitext(srcfile)[1]
        print sufix
        destfile = srcdir + "//" + u"%d"%(index) + sufix
        srcfile = os.path.join(srcdir, srcfile)
        os.rename(srcfile, destfile)
        index += 1
srcdir = u"奥运"
RenameFiles(srcdir)

当然,上述重复运行就出错,应为rename函数中的两个参数必须不同名。

附:主要os模块属性和方法:

1.os.getcwd()

  得到当前py文件所在工作目录。

2.os.name

  得到使用平台的字符串。window ——'nt'表示,Linux/Unix——'posix'。

3.os.listdir('目录名')

  得到目录下的所有文件和目录名。

4.os.remove()

  删除当前目录下的指定文件。(相对路径)

5.os.system(‘系统命令名称’)

  运行shell命令。

6.os.sep   显示操作系统特定的路径分割符。

7.os.linesep   显示当前平台使用的行终止符

8.os.path.split("文件绝对路径名称")

  得到文件绝对路径的目录名和文件名

9.os.path.isfile()和os.path.isdir()

  检测给出的路径是文件名还是路径名称

10.os.path.exists('路径名称')

  判断路径是否真地存在

11.os.path.abspath("文件名称")——获得绝对路径。常用os.path.abspath(__file__):得到当前脚本所在的绝对路径。

12.os.path.normpath(path)——获得规范path的字符串形式

13.os.path.getsize(name):获得文件大小,如果name是目录返回0L

14.os.path.splitext():分离文件名与扩展名

15.os.path.join(path,name):连接目录与文件名或目录

16.os.path.basename(path):不论绝对路径还是相对路径只返回文件名

17.os.path.dirname(path):返回文件绝对路径

 

  

 

  

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM