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程序设计有所帮助。

相关文章

使用pyqt5 tablewidget 单元格设置正则表达式

使用pyqt5 tablewidget 单元格设置正则表达式

tablewidget pyqt5的tablewidget组件比较特殊,每个方格可以装载其他组件来搭配实现不同的效果,所以在qtdesigner上找不到可视化直接设置mask或者其他可...

Python常用内置函数总结

一、数学相关 1、绝对值:abs(-1) 2、最大最小值:max([1,2,3])、min([1,2,3]) 3、序列长度:len('abc')、len([1,2,3])、len((1,...

Numpy截取指定范围内的数据方法

如下所示: lst = [[1,2,3,4,5,6], [7,8,9,10,11,12], [71,81,91,101,111,121]] arr = np.asarray(lst)...

Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题

Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题

项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份...

python 字典修改键(key)的几种方法

python 字典修改键(key)的几种方法

python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作...