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基于ID3思想的决策树
Jan 03 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
Django中Model的使用方法教程
Mar 07 Python
python使用Flask操作mysql实现登录功能
May 14 Python
python设定并获取socket超时时间的方法
Jan 12 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
pandas-resample按时间聚合实例
Dec 27 Python
如何基于Python创建目录文件夹
Dec 31 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 Python
python中的装饰器该如何使用
Jun 18 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
解决laravel session失效的问题
2019/10/14 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
javascript里的条件判断
2007/02/27 Javascript
Js callBack 返回前一页的js方法
2008/11/30 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
python分析nignx访问日志脚本分享
2015/02/26 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
python flask框架实现重定向功能示例
2019/07/02 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
python中的对数log函数表示及用法
2020/12/09 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
英语专业学生的自我评价
2013/12/30 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
党员个人总结范文
2015/02/14 职场文书
暑期工社会实践报告
2015/07/13 职场文书