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采集博客中上传的QQ截图文件
Jul 18 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
PyQt5 pyqt多线程操作入门
May 05 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
python生成n个元素的全组合方法
Nov 13 Python
Django框架ORM数据库操作实例详解
Nov 07 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
详解python内置模块urllib
Sep 09 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防注入代码
2010/04/07 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
如何在Python对Excel进行读取
2020/06/04 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
文职个人求职信范文
2013/09/23 职场文书
求职简历中自我评价
2014/01/28 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
医药销售自我评价200字
2014/09/11 职场文书
法人代表证明书
2014/09/18 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android