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输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
利用python实现数据分析
Jan 11 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
Python走楼梯问题解决方法示例
Jul 25 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
Python实现最常见加密方式详解
Jul 13 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
python实现统计代码行数的小工具
Sep 19 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 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
与数据库连接
2006/10/09 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
vue组件入门知识全梳理
2020/09/21 Javascript
python删除本地夹里重复文件的方法
2020/11/19 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
opencv python图像梯度实例详解
2020/02/04 Python
jupyter notebook清除输出方式
2020/04/10 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
建筑工程毕业生自我鉴定
2014/01/14 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
节能减排倡议书
2014/04/15 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
个人总结格式范文
2015/03/09 职场文书
会计主管岗位职责
2015/04/02 职场文书
搞笑结婚保证书
2015/05/08 职场文书
南极大冒险观后感
2015/06/05 职场文书
Docker官方工具docker-registry案例演示
2022/04/13 Servers