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中sys.argv函数精简概括

python中sys.argv函数精简概括

sys.argv函数通常用来读取命令行参数,其中保存了程序的文件名和命令行参数,读入的参数以元组的形式保存。下面以sys.argv[0],sys.argv[1],sys.argv[1:]...

Django 使用Ajax进行前后台交互的示例讲解

本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。 为了方便前后台交互,利用了Ajax的GET和POST方法分别进行数据的...

django和vue实现数据交互的方法

我使用的是jQuery的ajax与django进行数据交互,遇到的问题是django的csrf 传输数据的方法如下: $(function() { $.ajax({ ur...

pytest中文文档之编写断言

编写断言 使用assert编写断言 pytest允许你使用python标准的assert表达式写断言; 例如,你可以这样做: # test_sample.py def func...

python写日志封装类实例

本文实例讲述了python实现写日志封装类。分享给大家供大家参考。具体如下: # encoding:utf-8 import sys import logging import ti...