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中几个比较常见的名词解释
Jul 04 Python
Python中你应该知道的一些内置函数
Mar 31 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
深入浅析Python的类
Jun 22 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
python中的协程深入理解
Jun 10 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 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
日本十大惊悚动漫
2020/03/04 日漫
php 文件上传系统手记
2009/10/26 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
js单例模式详解实例
2013/11/21 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
python使用zip将list转为json的方法
2018/12/31 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
盛大二次面试题
2016/11/18 面试题
班长岗位职责
2013/11/10 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
PL350与SW11的比较
2021/04/22 无线电
Go语言中的UTF-8实现
2021/04/26 Golang
零基础学java之循环语句的使用
2022/04/10 Java/Android