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之os操作方法(详解)
Jun 15 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
python3 读取Excel表格中的数据
Oct 16 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
python实现各种插值法(数值分析)
Jul 30 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
python 实现多线程下载视频的代码
Nov 15 Python
Python实现爬取并分析电商评论
Jun 19 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
python中 .npy文件的读写操作实例
Apr 14 Python
Python软件包安装的三种常见方法
Jul 07 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使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
PHP安全上传图片的方法
2015/03/21 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
详解python 发送邮件实例代码
2016/12/22 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
高二物理教学反思
2014/02/08 职场文书
市场调查策划方案
2014/06/10 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
生日答谢词
2015/01/05 职场文书
青岛海底世界导游词
2015/02/11 职场文书
nginx 配置指令之location使用详解
2022/05/25 Servers