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中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
python实现识别相似图片小结
Feb 22 Python
Python使用filetype精确判断文件类型
Jul 02 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python用户评论标签匹配的解决方法
May 31 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
Python脚本实现监听服务器的思路代码详解
May 28 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 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
windows平台中配置nginx+php环境
2015/12/06 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
Jquery submit()无法提交问题
2013/04/21 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
js获取内联样式的方法
2015/01/27 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
python处理二进制数据的方法
2015/06/03 Python
python 队列详解及实例代码
2016/10/18 Python
5款非常棒的Python工具
2018/01/05 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
.net开发工程师面试题
2014/02/25 面试题
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
法人委托书范本格式
2014/09/15 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
地道战观后感2000字
2015/06/04 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
Java输出Hello World完美过程解析
2021/06/13 Java/Android
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL