0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python之怎样去批量修改文件名呢

冬至配饺子 来源:缪斯之子 作者:肖新苗 2022-08-23 10:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 批量修改文件名

例子: 把b站下载的长文件名替换为短的

'''
说明: 去掉文件名中共同的部分
'''
import os


# 修改文件
def rename(data_dir: str, is_loop: bool, old: str, new: str):
fileList = os.listdir(data_dir)
for file_name in fileList:
full_file_name = os.path.join(data_dir, file_name)
# 遍历所有文件夹中的文件
if os.path.isdir(full_file_name):
if is_loop:
rename(full_file_name, is_loop, old, new)
else:
continue
new_name = file_name.replace(old, new, -1)
full_new_name = os.path.join(data_dir, new_name)
if full_file_name == full_new_name:
continue
print(full_file_name)
print(f'替换 {full_new_name}')
os.rename(full_file_name, full_new_name)
pass

# 最外层的文件夹
data_path = r'2021年最新爬虫+反爬+js逆向(配套完整项目)_'
old = ''
new = ''
rename(data_path, True, old, new)

2. 网盘分享通过:

替换: 网盘会审核文件名, 所以,干脆所有文件名都只用数字表示,顺便给自己网站打一波广告

0400 第402章 决胜的关键.m4a => 0400{discuz.elandcloud.com}.m4a

import os
import re


def rename(data_dir: str, ptn: re.Pattern, new_repl: str, is_loop: bool):
fileList = os.listdir(data_dir)
for file_name in fileList:
full_file_name = os.path.join(data_dir, file_name)
# 遍历所有文件夹中的文件
if os.path.isdir(full_file_name):
if is_loop:
rename(full_file_name, ptn, is_loop)
else:
continue
new_name = ptn.sub(new_repl, file_name)
full_new_name = os.path.join(data_dir, new_name)
os.rename(full_file_name, full_new_name)
pass


data_path = r'D:\1.source\pythonpath\xmly-paid\data\琅琊榜'
ptn = re.compile(r'(\d+).*?(\.m4a)')
# 选择要保留的组,\g<1>表示第1组(就是前面的数字),\g<2>表示第2组(就是.m4a)
new_repl = r'\g<1>{discuz.elandcloud.com}\g<2>'
rename(data_path, ptn, new_repl, True)



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90427
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    Fusion的简单方法。在本示例中,我们将演示如何使用Python脚本运行光学仿真,以向用户简要概述这种跨平台的仿真能力。 用例概览 文件路径 用户可以在样本文件文件夹中找到所有
    发表于 03-31 09:39

    怎样开始启用独立看门狗

    看门狗的原理是什么怎样开始启用独立看门狗
    发表于 01-08 06:33

    咨询一下工业设计中批量生产FPGA时,程序是如何批量下载

    是否成功,自动扫描待烧写的程序,并显示烧写程序是否成功等信息。这样一来,即使是外行人也能够轻松实现批量烧写程序。 在此,想咨询一下目前业内针对批量烧写 FPGA 程序都有哪些成熟的方案?这些方案各自具有怎样的特点和适用场景?
    发表于 12-24 22:40

    飞凌嵌入式ElfBoard-文件的时间属性utime

    [2]);3.参数filrname:要修改时间的文件名。times:是一个包含两个 struct timeval 的数组,第一个表示访问时间,第二个表示修改时间。如果设置为 NULL,utimes 会使
    发表于 12-23 08:50

    飞凌嵌入式ElfBoard-文件的时间属性

    wirte()。2.文件属性修改修改文件的权限、所有者或者文件名,就会更新inode节点的状态更改时间。如前面提到的chmod()、 ch
    发表于 12-20 08:43

    Termux中调试圣诞树Python代码

    print(\"|\") print(\"圣诞快乐?\") 保存并退出nano: 按 Ctrl + O(输入文件名确认,直接回车); 按 Ctrl + X 退出
    发表于 12-09 09:02

    飞凌嵌入式ElfBoard-标准IO接口打开文件

    )filename:表示想要打开的文件的绝对路径,或者当前路径下的文件名。2)mode:表示打开文件用的操作(1-6必选其一,7和8可以省略)\"r\":以只读方式打开
    发表于 11-05 08:48

    商品图片批量上传接口设计与实现

    设计、实现步骤、代码示例、错误处理和性能优化。文章基于Python Flask框架,确保内容真实可靠,适合开发者快速上手。 1. 接口设计概述 一个标准的商品图片批量上传接口应遵循RESTful原则,使用HTTP POST方法。关键设计点包括: 端点定义:例
    的头像 发表于 10-13 15:25 638次阅读

    飞凌嵌入式ElfBoard-Linux系统基础入门-文件操作相关shell命令

    2.5 文件操作相关命令2.5.1 touch创建新文件命令:touch英文全拼:功能:创建大小为0的一个空文件参数:touch 文件名示例:2.5.2 echo创建有内容的
    发表于 09-30 09:46

    termux输出Hello termux

    (...)`),执行时通过终端命令 `python 文件名.py` 调用解释器 。 检查复制内容: 从网页复制代码时,需清除额外的格式标签(如 ``)。 基础编辑器操作: Termux 默认的 `nano
    发表于 08-29 12:16

    怎么导出python边缘计算中的APP,想进行修改又找不到源码?

    怎么导出python边缘计算中的APP,想进行修改又找不到源码
    发表于 08-06 07:33

    Linux常见指令解析

    对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
    的头像 发表于 07-04 10:24 841次阅读
    Linux常见指令解析

    harmony-utilsFileUtil,文件相关工具类

    harmony-utilsFileUtil,文件相关工具类
    的头像 发表于 07-03 18:23 742次阅读

    迅为RK3568开发板Dev-Eco studio 的界面布局-导航栏-代码编辑区

    代码编辑区如下图所示,在这里可以修改代码以及切换显示的文件。 代码编辑区以下几个常用使用操作。 文件标签,展示编辑的文件名 点击文件名,可以
    发表于 06-20 11:12

    怎样使用Jlink (SEGGER) 通过SWD读写

    怎样使用Jlink (SEGGER) 通过SWD读写?Jlink没有找到CYPD6125的信号,官方也没有找到CYPD6125对应的FLM和xml 文件
    发表于 05-27 06:45