python查找文件并重命名_python3百度云网盘api关键词搜索后批量重命名文件可正则替换...

本文主要是介绍python查找文件并重命名_python3百度云网盘api关键词搜索后批量重命名文件可正则替换...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

252这几天连续分享了多遍关于百度网盘批量重命名文件的文章,今天将继续进行分享文件重命名的方法,同时对各种方法的优劣进行一下比较。

目前新出了更好用的软件界面版工具:百度网盘批量处理大师

一、各方法优劣势比较

一是通过ES浏览器对百度网盘文件批量重命名,这是一款手机app的重命名工具,使用起来很简单方便,可以批量对文件按照顺序重新编号、增加前缀或修改后缀等,但是功能相对单一,主要使用在给文件添加前缀上;

二是通过js脚本插件工具对百度网盘批量重命名,功能强大,可批量增加前缀、后缀、修改拓展名、替换名称等以及支持正则替换文件,非常好用,但是也存在一些问题,在进行正则替换或修改的时候,个别正则替换有时不能替换成功,经过检查的正则表达式也无错误。具体的用法见百度网盘批量重命名正则替换修改文件名称前缀后缀添加序号百度云软件工具。

四是今天要介绍的通过百度网盘api进行替换,支持强大的正则替换,支持根据关键词搜索后进行替换,好用得不要不要的。特别说一下的是通过关键词搜索后替换,这样就不用局限在对一个文件夹内的文件名称进行替换,而是可以修改替换网盘内的所有需要修改的文件名称。但有个问题是需要会懂点python基础知识,使用起来不是太直观。因此,下面开始详细对其进行讲解。

二、使用到的环境及工具

还是Windows10 64位的操作系统,python3.6的版本,pycharm的编辑器,安装上baidupcsapi库。这些基本的请自行配置,若有不懂的或需要一些学习的视频教程可以Q我或留言。

三、具体使用步骤

首先,引入相应的模块,包括正则re,并登录百度网盘

from baidupcsapi import PCS

import re

pcs = PCS("用户名","密码")

其次,登录后根据关键词查找网盘内的文件,如:网盘内有文件的名称前面加了一个网址“blog.az009.com”想把它们除去。那么,先通过pcs的search函数找出文件的列表。

keyword = "blog.az009.com"

path = '/'

searchlist = pcs.search(path, keyword).json().get('list')

再次,找到含关键词的文件列表后对searchlist进行遍历,并生成下一步文件重命名函数需要的参数格式。

renamelist = []

newname = ''

for searchfile in searchlist:

fsid = searchfile.get('fs_id')

fspath = searchfile.get('path')

fsname = searchfile.get('server_filename')

pattern = re.compile('blog.az009.com')

newname = re.sub(pattern, '', fsname)#查找含blog.az009.com的关键词并替换为空

renamelist.append((fspath, newname))#生成含文件全路径的文件及新文件名称的元祖组成的列表

print(fsname, newname)#比对修改文件前后的差异,是否修改或替换正确

最后,调用pcs的rename函数修改网盘内文件的名称。

if input("若符合修改的预期,请输入 y 以便继续执行文件名替换") == "y":

pcs.rename(renamelist)

使用中需要注意的事项有几个:1.若需要修改替换的文件名称有上千个则需要多次进行重复,或继续优化代码;2.rename的参数需要是列表,且里面的元素需要是二元的元祖,元祖里面第一个元素是文件的全路径,第二元素只需要是新名称。

四、完整源码

出软件版了,百度网盘批量处理大师 地址 http://blog.az009.com/15472.html

#-*-coding:utf-8-*-

from baidupcsapi import PCS

import re

pcs = PCS("用户名","密码")

keyword = "blog.az009.com"

path = '/'

searchlist = pcs.search(path, keyword).json().get('list')

renamelist = []

newname = ''

for searchfile in searchlist:

fsid = searchfile.get('fs_id')

fspath = searchfile.get('path')

fsname = searchfile.get('server_filename')

pattern = re.compile(‘blog.az009.com’)

newname = re.sub(pattern, '', fsname)

renamelist.append((fspath, newname))

print(fsname, newname)if input("若符合修改的预期,请输入 y 以便继续执行文件名替换") == "y": pcs.rename(renamelist)

这篇关于python查找文件并重命名_python3百度云网盘api关键词搜索后批量重命名文件可正则替换...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/283161

相关文章

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总