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):返回文件绝对路径
Python批量修改文件名的更多相关文章
- 利用 Python 批量修改文件名
开发的第一步,首先得熟悉脚本中使用的模块函数,废话不多说,开干! 1 函数介绍 1.1 os 模块 (1)os.lisdir() >>> import os >>> ...
- python:批量修改文件名批量修改图片尺寸
批量修改文件名 参考博客:https://www.cnblogs.com/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文件,全部都以统一格式命名,例如“A201222-广州李小龙纪念协会-1-广州李小龙纪念协会-2018.AUD” 由于有两段重复了,而且中间的“1”也没有意义,需要 ...
- 视频合并时使用python批量修改文件名
不知道大家有没有遇到这样的情况,比如视频合并时文件名没有按照正常顺序排列,像这样 可见,文件名排序是乱的.这个样子合并出来的视频一定也是乱的.所以得想办法把文件名修改一下,让软件读取出正确的顺序.闲话 ...
- Python批量修改文件名与后缀
引言: 有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀.一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本 ...
随机推荐
- 29. Populating Next Right Pointers in Each Node && Populating Next Right Pointers in Each Node II
Populating Next Right Pointers in Each Node OJ: https://oj.leetcode.com/problems/populating-next-rig ...
- set JAVA_HOME in RHEL/CentOS
3.3. Install OpenJDK on Red Hat Enterprise Linux Introduction OpenJDK is one of many Java Developmen ...
- Spring MVC入门知识总结
2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职 ...
- Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...
- uva 10340 All in All
水题,从头到尾扫一遍就可以了,输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串s.例如,abcde可以得到bce,但无法得到dc. #include<a ...
- 去除VA(Visual Assist)中文注释的红色波浪线
VS版本:vs2015 番茄版本:VA_X.dll file version 10.9.2089.0 built 2016.02.01 1.打开番茄设置 2.去掉 Underlining->Un ...
- Sql 数据引擎中删除用户名、密码信息
SQl版本:Microsoft SQL Server 2008 R2 系统:Windows Server 2008 R2 Enterprise 删除文件为:SqlStudio.bin 删除星系路径:C ...
- 第九十七天请假 PHP TP框架 MVC模式
MVC : M->Model 模型(数据层) V->View 视图(视图层) C->Controller 控制器(逻辑层) M : 操作数据(连接数据 ...
- VC++双缓冲保持背景不擦除之实现
几天前,我终于克服了C++窗体重绘时的闪烁问题,用到的技巧就是双缓冲.但是怎样保持住已经绘制的图形呢?也就是仿照Windows自带的画图程序一般,动态的做出一条直线.最容易想到的方法是在MouseMo ...
- jQuery设置和获取以及修改class name值操作
在Web程序开发中.很多时候会用需要修改Html标签的class名称.来达到修改标签样式的效果.那么在代码中一般是怎么操作的呢.本文将为你详细讲解一下class的使用.在jQuery中可以使用attr ...