处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到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):返回文件绝对路径