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中使用第三方库xlrd来读取Excel示例
Apr 05 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
Python实现调度算法代码详解
Dec 01 Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 Python
使用turtle绘制五角星、分形树
Oct 06 Python
PyCharm第一次安装及使用教程
Jan 08 Python
Python matplotlib实时画图案例
Apr 23 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
浅谈keras 的抽象后端(from keras import backend as K)
Jun 16 Python
Python无损压缩图片的示例代码
Aug 06 Python
python实现三阶魔方还原的示例代码
Apr 28 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php 生成WML页面方法详解
2009/08/09 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
js确定对象类型方法
2012/03/30 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
python 同时读取多个文件的例子
2019/07/16 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
教师岗位职责范本
2013/12/29 职场文书
企业内控岗位的职责
2014/02/07 职场文书
小班下学期评语
2014/05/04 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android