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


Posted in Python onMarch 05, 2020

今天看新概念视频的时候播放器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 相关文章推荐
使用Python装饰器在Django框架下去除冗余代码的教程
Apr 16 Python
在python中使用with打开多个文件的方法
Jan 07 Python
python实现QQ批量登录功能
Jun 19 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
python安装和pycharm环境搭建设置方法
May 27 Python
Python collections.defaultdict模块用法详解
Jun 18 Python
Python建造者模式案例运行原理解析
Jun 29 Python
python如何变换环境
Jul 21 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
详解python的异常捕获
Mar 03 Python
Python 视频画质增强
Apr 28 Python
python批量修改xml属性的实现方式
Mar 05 #Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 #Python
Python实现在Windows平台修改文件属性
Mar 05 #Python
Pycharm最常用的快捷键及使用技巧
Mar 05 #Python
Python 去除字符串中指定字符串
Mar 05 #Python
Python脚本去除文件的只读性操作
Mar 05 #Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 #Python
You might like
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
php无序树实现方法
2015/07/28 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
Js动态创建div
2008/09/25 Javascript
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
基于python实现名片管理系统
2018/11/30 Python
python导入模块交叉引用的方法
2019/01/19 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python with (as)语句实例详解
2020/02/04 Python
物业管理公司实习生自我鉴定
2013/09/19 职场文书
最新创业融资计划书
2014/01/19 职场文书
工程材料采购方案
2014/05/18 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android