python批量替换文件名中的共同字符实例

 更新时间:2020年03月05日 16:59:54   作者:黄河大鲤鱼  
这篇文章主要介绍了python批量替换文件名中的共同字符实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天看新概念视频的时候播放器PotPlayer的播放列表总是不能正确排序,我看到这些视频的名字格式如下:

Lesson 1-2 单词解读.mp4

我认为是数字前面的Lesson和空格干扰了播放器的排序,就考虑把这个文件夹下所有的文件名批量删除Lesson和空格,使之变成:

1-2 单词解读.mp4

这里主要使用的就是os模块下的listdir,chadir和rename三个方法

虽然最后还是排序不正确,我只能怪播放器不好了。

代码如下

# -*- coding: UTF-8 -*-
import os

#获得文件夹下文件名列表
path=r"G:\BaiduNetdiskDownload\第1册"
path=unicode(path,"utf8")
file_list=os.listdir(path)

#选择要重命名的文件夹路径
os.chdir(path)

#将文件名中的Lesson和空格用空字符串替代
for file in file_list:
  os.rename(file,file.replace("Lesson ",""))

程序在调试的时候感觉python的2.x版本中文编码问题很扰人,最后将路径编码成utf-8格式解决。

补充知识:python实现替换某个文件中的某个字符串(全部替换)

我就废话不多说了,咱还是直接看代码吧!

#!/usr/bin/python
#-*-coding:utf-8-*-
import click
#不需要替换的文件
UNMATCH = (".DS_Store","loading","niutou_run","zhuyao")
#参数设置
@click.command()
@click.option("-root",help=u'根目录')
@click.option("-src",help=u'源字符')
@click.option("-dst",help=u'目标字符')

def run(**options):
	root = options["root"]
	src = options["src"]
	dst = options["dst"]
	for file in os.listdir(root):
		colorPrint("file:",file)
		if not isInTuple(file):
			jsonName = file + ".json"
			fileFullPath = root +"/" + file + "/" + jsonName
			fp = open(fileFullPath,"r+")
			tempStr = fp.read()
			result = re.sub(src,dst,tempStr)
			colorPrint("seek1:",fp.tell())
			fp.seek(0,0)
			colorPrint("seek2:",fp.tell())
			fp.write(result)
			fp.close()
#是否在UNMATCH中
def isInTuple(name):
	for temp in UNMATCH:
		if name == temp:
			return True
			break
	return False
#彩色打印
def colorPrint(desc,str):
	print('\033[1;31;40m')
	print(desc,str)
	print('\033[0m')
if __name__ == '__main__':
	run()

以上这篇python批量替换文件名中的共同字符实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用python和Django完成博客数据库的迁移方法

    使用python和Django完成博客数据库的迁移方法

    下面小编就为大家分享一篇使用python和Django完成博客数据库的迁移方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python if语句知识点用法总结

    Python if语句知识点用法总结

    本篇文章给python初学者总结了关于Python之if语句的相关用法以及知识点总结,跟着学习下吧。
    2018-06-06
  • 解决pytorch下出现multi-target not supported at的一种可能原因

    解决pytorch下出现multi-target not supported at的一种可能原因

    这篇文章主要介绍了解决pytorch下出现multi-target not supported at的一种可能原因,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 如何利用opencv对拍摄图片进行文字识别

    如何利用opencv对拍摄图片进行文字识别

    在有些工程中有时候我们需要对图片文字识别,下面这篇文章主要给大家介绍了关于如何利用opencv对拍摄图片进行文字识别的相关资料,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Python内置函数map()的具体使用

    Python内置函数map()的具体使用

    Python中的map()函数是一个高效的内置函数,用于将指定函数应用于序列的每个元素,通过接收一个函数和一个或多个序列,本文就来详细的介绍一下如何使用,感兴趣的可以了解一下
    2024-09-09
  • Python保存图片的3种情况代码实例

    Python保存图片的3种情况代码实例

    这篇文章主要给大家介绍了关于Python保存图片的3种情况,在Python中我们可以使用多种方法来保存图片,包括使用Python内置的库和第三方库,需要的朋友可以参考下
    2023-10-10
  • Python 普通最小二乘法(OLS)进行多项式拟合的方法

    Python 普通最小二乘法(OLS)进行多项式拟合的方法

    今天小编就为大家分享一篇Python 普通最小二乘法(OLS)进行多项式拟合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python爬虫学习笔记之pyquery模块基本用法详解

    python爬虫学习笔记之pyquery模块基本用法详解

    这篇文章主要介绍了python爬虫学习笔记之pyquery模块基本用法,结合实例形式详细分析了python爬虫pyquery模块基本功能、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • python selenium模拟点击问题解决方案

    python selenium模拟点击问题解决方案

    这篇文章主要介绍了python selenium模拟点击问题,涉及到安装谷歌浏览器和浏览器驱动的相关知识介绍,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python实现图像去雾效果的示例代码

    Python实现图像去雾效果的示例代码

    本文将利用《bringing old photos back to life》 的开源代码,并在此基础上进行修改,从而实现图像去雾的效果,感兴趣的小伙伴可以学习一下
    2022-02-02

最新评论