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 27 Python
使用Python设置tmpfs来加速项目的教程
Apr 17 Python
python实现统计代码行数的方法
May 22 Python
python中实现迭代器(iterator)的方法示例
Jan 19 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
Python之指数与E记法的区别详解
Nov 21 Python
Python如何使用turtle库绘制图形
Feb 26 Python
使用Pycharm分段执行代码
Apr 15 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
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
php密码生成类实例
2014/09/24 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
php常用数组函数实例小结
2016/12/29 PHP
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
python样条插值的实现代码
2018/12/17 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
十佳青年个人事迹材料
2014/01/28 职场文书
借款担保书范文
2014/05/13 职场文书
优秀会计求职信
2014/07/04 职场文书
踏青活动策划方案
2014/08/19 职场文书
医德医风个人总结
2015/02/28 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
自信主题班会
2015/08/14 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js