python批量更改目录名/文件名

简介: 简介:跑模型和测试一些批量操作时,常常需要一个或多个文件中的文件的命名格式具有一定的规律。有时候获取的数据又是从一些网站爬取下来的,数据名具有一定的不规律性,这是就需要我们去重命名这些文件。10,20个还好说,如果是上百个,上千个,甚至上万个呢?我们还能去手动命名吗?显然不可能的!这时就需要批量更改文件名的操作。

跑模型和测试一些批量操作时,常常需要一个或多个文件中的文件的命名格式具有一定的规律。有时候获取的数据又是从一些网站爬取下来的,数据名具有一定的不规律性,这是就需要我们去重命名这些文件。10,20个还好说,如果是上百个,上千个,甚至上万个呢?我们还能去手动命名吗?显然不可能的!这时就需要批量更改文件名的操作。


一、python实现批量更改目录名


这里以重命名图片为例


# -*- coding: UTF-8 -*-
"""
@Author  :远方的星
@Time   : 2021/4/16 9:16
@CSDN    :https://blog.csdn.net/qq_44921056
@腾讯云   : https://cloud.tencent.com/developer/column/91164
"""
import os
path = input('请输入你想更改的文件的路径(如D:/图片/风景):')
file_list = os.listdir(path)
file_list.sort()  # 对列表内容进行排序,默认为升序
i = 0  # 用于记录重命名,方便重命名
for item in file_list:
    if item.endswith('.jpg'):  # 这里以.jpg进行判断文件名
        src = os.path.join(path, item)
        dst = os.path.join(os.path.abspath(path), str(i) + '.jpg')
        try:
            os.rename(src, dst)
            print('已将{}更改为{}'.format(src, dst))
            i += 1
        except Exception as e:
            print(e)
            print('{}更改失败'.format(src))
print('所有目标文件已完成全部更改')

20210416100612941.gif


image.png


二、一些函数解释


os.listdir

os.listdir(path),path为需要列出的目录路径,函数返回值为指定路径下的文件和文件夹列表


import os
print(os.listdir('D:/图片'))

输出:

['Screenshots', '动漫图片', '原神', '图片格式.txt', '头像', '横屏壁纸', '海贼王', '证件照', '赛尔号', '风景', '鬼灭 之刃']

image.png


endswith :


用于判断字符串是否以指定的内容结尾


具体可以参考python中endswith()函数的用法


os.path.join :


用于路径的拼接


os.path.abspath:


返回绝对路径


os.rename:


用于重命名


基本格式为:os.rename(src , dst)


src 参数用于指定要进行重命名的目录或文件;

dst 参数用于指定重命名后的目录或文件。



相关文章
|
13天前
|
Python
[python]为指定目录下的文件名批量加前缀
[python]为指定目录下的文件名批量加前缀
|
3月前
|
BI Python
python报表自动化系列 - 按照文件名筛选文件
python报表自动化系列 - 按照文件名筛选文件
33 2
|
3月前
|
存储 Python
Python基于文件名将符合标准的文件加以复制
本文介绍基于Python语言,读取一个文件夹,并将其中每一个子文件夹内符合名称要求的文件加以筛选,并将筛选得到的文件复制到另一个目标文件夹中的方法~
Python基于文件名将符合标准的文件加以复制
|
3月前
|
BI 测试技术 Python
python报表自动化系列 - 获得指定目录下所有文件名
python报表自动化系列 - 获得指定目录下所有文件名
19 0
|
3月前
|
定位技术 索引 Python
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
|
3月前
|
存储 Python
基于Python一次性批量修改多个文件的文件名
基于Python一次性批量修改多个文件的文件名
|
算法 数据处理 Python
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
在处理多个相同格式的文件时,python中的许多模块可以为我们提供很多遍历。 比如,我们想读取一个文件夹下多个相同格式的文件时 可以使用os模块,
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
|
XML Java 测试技术
【Python命名规范】Python文件名、类、变量、函数方法等的命名规范
【Python命名规范】Python文件名、类、变量、函数方法等的命名规范
python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名
python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名
|
Python
python脚本两个文件夹里的文件名对比找出不同图片和标签
使用labelimg给图片集标注,标注后发现图片文件夹内的图片数量和标签文件夹里面的标签文件数量不同,由于数量太多难以找出哪些差别,可以使用python脚本进行图片文件夹和标签文件夹两个文件夹的对比,将它们下有差别的文件名列出来。 以下是源码。
167 0