处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到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):返回文件绝对路径
利用 Python 批量修改文件名
开发的第一步,首先得熟悉脚本中使用的模块函数,废话不多说,开干! 1 函数介绍 1.1 os 模块 (1)os.lisdir() >>> import os >>> ...
python:批量修改文件名批量修改图片尺寸
批量修改文件名 参考博客:/zf-blog/p/7880126.html 功能:批量修改文件名 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
用python批量修改文件名
从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 #批量修改文件名 ...
ML二:python批量修改文件名-测试KDTree
(1):#批量修改文件名 import os import numpy as np import string import shutil prefix =''#单引号,前缀! sufix ='txt ...
Python批量修改文件名-后缀
LyncLynn用途: 批量修改文件格式,文件名后缀. #Version: V1.0 #Author:lynclynn #Description:Change the filename #Create ...
Python 批量修改文件名
最近下载了几部美剧(越狱.迷失.权利的游戏......),每集文件名都好长好长..想改短一些,但一个一个改太累了,于是写了个脚本来实现批量修改: 修改前文件名: 修改后文件名: 代码实现: #enco ...
Python批量修改文件名(os库)
问题: 在某一文件夹内有97个sql文件,全部都以统一格式命名,例如“A22-广州李小龙纪念协会-1-广州李小龙纪念协会-.AUD” 由于有两段重复了,而且中间的“1”也没有意义,需要 ...
视频合并时使用python批量修改文件名
不知道大家有没有遇到这样的情况,比如视频合并时文件名没有按照正常顺序排列,像这样 可见,文件名排序是乱的.这个样子合并出来的视频一定也是乱的.所以得想办法把文件名修改一下,让软件读取出正确的顺序.闲话 ...
Python批量修改文件名与后缀
引言: 有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀.一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本 ...
随机推荐
LoadRunner调用Oracle存储过程
为了测试这个存储过程,我遥了一圈去做这个事情,这里说一下我自己接受到任务和自己开始是怎么想的. 方法一: 一开始我想着可以使用C#直接去调用存储过程,然后用Loadrunner调用C#的dll去测试, ...
C语言 后缀自增的优先级详解
// ++ 后缀自增与取地址& ,提领 * (指针里的操作符)的优先级比较 #include #include #include& ...
小巧、高效、美观的弹出日历组件 ——lhgcalendar
/lhgstudio/archive//02/13/1390381.html 没法上传附件,请到以上地址下载 下载地址:http://files.c ...
HDU 4876 ZCC loves cards _(:зゝ∠)_ 随机输出保平安
GG,,,g艹 #include #include #include #include
SpringMVC 学习-拦截器 HandlerInterceptor 类
一.拦截器HandlerInterceptor 类的作用 SpringMVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 二.怎么使用呢? 1. ...
underscore.js,jquery.js源码阅读
(function() { // Baseline setup // -------------- // Establish the root object, `window` in the brow ...
MySql学习笔记(一) —— 关键字的使用
1.distinct关键字 作用:检索出有不同值的列,比如一个商品表中存在供应商vend_id,一个供应商会对应很多商品,我们要查找有多少供应商,就可以用到该关键字去重. select distinc ...
C#windows服务调试技巧
1.创建项目 2.为了方便调试,设置为控制台程序 3.修改Service1代码 4.修改Main代码 这样当使用-console方式启动时,就是以普通的控制台方式启动,方便调试程序. 5.其它安装之类 ...
C# 调用程序集方法
加载程序集 (Assembly类) 使用Assembly类可以加载程序集.浏览程序集的元数据和构成部分.发现程序集中包含的类型以及创建这些类型的实例 // 加载该路径的程序集 Assembly a ...
linux系统编程:自己动手写一个pwd命令
pwd命令:打印当前的工作目录 我们都知道每个目录下面都有两个特殊的目录( . 和 .. ), .: 当前目录, ..: 上层目录, 每个目录都有一个i节点与之相关联 ghostwu@ubuntu: ...