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实现方便使用的级联进度信息实例
May 05 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
python django 原生sql 获取数据的例子
Aug 14 Python
python 串行执行和并行执行实例
Apr 30 Python
如何表示python中的相对路径
Jul 08 Python
Python map及filter函数使用方法解析
Aug 06 Python
Python下使用Trackbar实现绘图板
Oct 27 Python
在终端启动Python时报错的解决方案
Nov 20 Python
分享python函数常见关键字
Apr 26 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
第十四节--命名空间
2006/11/16 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
英国办公用品商店:Office Outlet
2018/04/04 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
司机辞职报告范文
2014/01/20 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
干部作风建设心得体会
2014/10/22 职场文书
党支部半年考察意见
2015/06/01 职场文书
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python