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 相关文章推荐
matplotlib设置legend图例代码示例
Dec 19 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
Python删除n行后的其他行方法
Jan 28 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 Python
Python如何使用循环结构和分支结构
Apr 13 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+Ajax实现表单验证的详解
2013/06/25 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[00:14]护身甲盾
2019/03/06 DOTA
python按键按住不放持续响应的实例代码
2019/07/17 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
团委竞选演讲稿
2014/04/24 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
商务经理岗位职责
2014/08/03 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
齐云山导游词
2015/02/06 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技