将大量文件的拓展名中大写字母改为小写:Python实现

本文介绍基于Python 语言,基于一个大文件夹 ,遍历其中的多个子文件夹 ,对于每一个子文件夹 中的大量文件 ,批量将其文件的名称或后缀名中的字母由大写 修改为小写的方法。

本文期望实现的需求为:现有一个大文件夹 ,其中有多个子文件夹;如下图所示。

其中,每一个子文件夹 内都有着大量的文件 ,我们随意打开一个子文件夹 ,如下图所示。如下图紫色框内所示,这些文件的拓展名 都是大写字母 (也会有个别文件当前的拓展名已经是小写字母了);我们希望,对于当前拓展名是大写字母 的文件,都将其后缀名修改为小写字母

这里需要注意两点------首先,本文的需求是将文件名中的后缀名由.TIF修改为.tif即可,所以就直接用了替换的方法;如果大家的需求有其他情况,比如要修改的字母是在文件名称中而不是后缀名中,思路也是一致的;如果要修改的字母并不确定是什么,则可以通过ASCII 码修改的方式实现大小写转换 。其次,在Windows 操作系统中,文件后缀名是不区分大小写的;而在类Unix 系统(如LinuxmacOS)中,文件后缀名是区分大小写的;所以大家一定要结合实际情况来修改。

了解了具体需求后,我们即可开始代码的实践;本文用到的具体代码如下所示。

python 复制代码
# -*- coding: utf-8 -*-

"""
Created on Fri Sep  1 10:03:57 2023

@author: fkxxgis
"""

import os

folder_path = "E:/02_Project/202307_NDVIProduce/Beijing_Preprocessing/Four_Result/50TMK"

for root, dirs, files in os.walk(folder_path):
    for file in files:
        if file.endswith(".TIF"):
            old_filepath = os.path.join(root, file)
            new_filename = file.replace(".TIF", ".tif")
            new_filepath = os.path.join(root, new_filename)
            os.rename(old_filepath, new_filepath)

其中,上述代码的具体含义如下。

首先,我们导入了os模块,用于处理文件和目录操作;并定义了一个变量folder_path,用于存储要遍历的文件夹路径。

接下来,我们使用os.walk()函数遍历文件夹路径下的所有子文件夹、子文件。对于每个文件,检查其文件名是否以.TIF结尾。如果是以.TIF结尾,则进行重命名操作。其次,使用os.path.join()函数构建旧文件路径old_filepath,将文件名与其所在的文件夹路径连接起来;随后,使用.replace()方法将文件名中的.TIF替换为.tif,得到新的文件名new_filename。这里大家实际应用时,就根据自己文件的实际情况来修改即可。

随后,我们使用os.path.join()函数构建新文件路径new_filepath,将新文件名与原文件夹路径连接起来;最后,使用os.rename()函数将旧文件路径old_filepath重命名为新文件路径new_filepath

运行上述代码,可以看到我们的文件已经是修改之后的拓展名了。

至此,大功告成。

相关推荐
m0_594526301 小时前
Python批量合并多个PDF
java·python·pdf
工业互联网专业1 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
钱钱钱端1 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
慕卿扬1 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
Json____2 小时前
python的安装环境Miniconda(Conda 命令管理依赖配置)
开发语言·python·conda·miniconda
小袁在上班2 小时前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
白狐欧莱雅2 小时前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
阿_旭2 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai
阿_旭2 小时前
基于YOLO11/v10/v8/v5深度学习的煤矿传送带异物检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·目标检测·yolo11
测试19983 小时前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试