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以环状形式组合排列图片并输出的方法
Mar 17 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
python生成随机图形验证码详解
Nov 08 Python
scrapy爬虫实例分享
Dec 28 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python 消费 kafka 数据教程
Dec 21 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
Django CBV模型源码运行流程详解
Aug 17 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
基于mysql的bbs设计(三)
2006/10/09 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
flask中的wtforms使用方法
2018/07/21 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
研究生自荐信
2013/10/09 职场文书
我的求职择业计划书
2014/04/04 职场文书
安全生产承诺书范文
2014/05/22 职场文书
工地标语大全
2014/06/18 职场文书
党员作风建设整改方案
2014/10/27 职场文书
应届生简历自我评价
2015/03/11 职场文书
文明礼貌主题班会
2015/08/14 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
Python基础之进程详解
2021/05/21 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python
python中 .npy文件的读写操作实例
2022/04/14 Python
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript