Python实现批量修改文件名实例

yipeiwu_com7年前Python基础

本文实例讲述了Python实现批量修改文件名的方法。分享给大家供大家参考。具体如下:

下载了评书《贺龙传奇》,文件名中却都含有xxx有声下载,用脚本将其去掉。脚本涉及os.rename重命名方法,str.partition方法使用, 及正则match,search方法区别

# encoding:utf-8
##
# 文件名如:
# 贺龙传奇\d+[有声下吧www.ysx8.com].mp3
##
import os,re
fs=os.listdir('单田芳_贺龙传奇')
for f in fs:
  ######方法一:partition获取无用字符
  #1.将文件名以'['符分为3部分
  #ls=f.partition('[')
  #2.ls[0]为需要文件名,因此获取ls[1:]
  #dirtystring = ''.join(ls[1:])
  #3.开始替换
  #newname=f.replace(dirtystring, '') + '.mp3')
  #os.rename('单田芳_贺龙传奇/' + f, newname)
  ######方法二:正则获取无用字符
  dirtymatch = re.search(r'\[.*?\]', f)
  if dirtymatch:
    dirtystring=dirtymatch.group(0)
    newname=f.replace(dirtystring, '') + '.mp3'
    os.rename('单田芳_贺龙传奇/' + f, newname)
  #注意:可以直接用re.sub方法进行正则替换掉文件名中不需要字符

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python PIL/cv2/base64相互转换实例

PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本。base64在网络传输图片的时候经常用到。 ##PIL...

Python中的函数式编程:不可变的数据结构

让我们首先考虑正方形和长方形。如果我们认为在接口方面,忽略了实现细节,方块是否是矩形的子类型? 子类型的定义取决于Liskov代换原理。为了成为一个子类型,它必须能够完成超级类型所做的一...

让代码变得更易维护的7个Python库

随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发...

python实现输出一个序列的所有子序列示例

python实现输出一个序列的所有子序列示例

如下所示: def sub(arr): finish=[] size = len(arr) end = 1 << size #end=2**size for in...

在Python中操作字符串之replace()方法的使用

 replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本。 语法 以下是replace()方法的语法: str.replace(old,...