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获取Linux系统的各种信息
Jul 10 Python
让python同时兼容python2和python3的8个技巧分享
Jul 11 Python
Python中除法使用的注意事项
Aug 21 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
python发送邮件脚本
May 22 Python
Numpy之文件存取的示例代码
Aug 03 Python
Django基础知识 URL路由系统详解
Jul 18 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Python序列化pickle模块使用详解
Mar 05 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 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中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
家长会标语
2014/06/24 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
写给同事的离职感言
2015/08/04 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis