将指定文件夹中的图片文件复制到另一个文件夹,并按照自然数递增的命名规则重命名的程序

2024-01-09

文件目录结构

C:.
├─data
│  ├─photos
│  │  ├─1
│  │  ├─2
│  │  ├─3
│  │  ├─4
│  │  ├─5
│  │  ├─6
│  │  ├─7
│  │  └─8
│  └─photos_new
│      ├─1
│      ├─2
│      ├─3
│      ├─4
│      ├─5
│      ├─6
│      ├─7
│      └─8
└─try.py

代码

import os
import shutil
from tqdm import tqdm

# 获取当前脚本所在目录
current_directory = os.path.dirname(os.path.abspath(__file__))

# 指定原始photos文件夹的路径
photos_directory = os.path.join(current_directory, 'photos')

# 指定新的photos文件夹的路径
new_photos_directory = os.path.join(current_directory, 'photos_new')

# 创建新的photos文件夹
if not os.path.exists(new_photos_directory):
    os.makedirs(new_photos_directory)

# 初始化文件名计数器
file_counter = 1

# 遍历原始photos文件夹下的所有子文件夹
for folder_name in os.listdir(photos_directory):
    folder_path = os.path.join(photos_directory, folder_name)
    
    # 检查子文件夹是否存在
    if os.path.isdir(folder_path):
        # 创建新的子文件夹
        new_folder_path = os.path.join(new_photos_directory, folder_name)
        if not os.path.exists(new_folder_path):
            os.makedirs(new_folder_path)
        
        # 遍历子文件夹中的所有文件
        files = os.listdir(folder_path)
        files.sort()  # 对文件列表按字母顺序排序
        
        for file_name in tqdm(files, desc=folder_name):
            file_path = os.path.join(folder_path, file_name)
            
            # 检查文件是否为图片文件
            if os.path.isfile(file_path) and file_name.lower().endswith(('.jpg', '.jpeg', '.png')):
                # 构建新的文件名
                file_extension = os.path.splitext(file_name)[1].lower()
                new_file_name = str(file_counter) + file_extension
                new_file_path = os.path.join(new_folder_path, new_file_name)
                
                # 复制文件到新的文件夹并重命名
                shutil.copy(file_path, new_file_path)
                
                # 增加文件名计数器
                file_counter += 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将指定文件夹中的图片文件复制到另一个文件夹,并按照自然数递增的命名规则重命名的程序 的相关文章

  • js打开新窗口设置窗口大小

    javascript g OpenWindow url jsp 800 600 function g OpenWindow pageURL innerWidth innerHeight var ScreenWidth screen avai
  • unity3D 脚本中按键或鼠标输入响应函数

    简单地总结一下 unity中脚本实现输入 键盘和鼠标 的响应事件函数 不够完善 以后碰到再慢慢添加 键盘输入 1 Input GetKey up 按住键盘上键 2 Input GetKey KeyCode UpArrow 按住键盘上键 Ke
  • 组态王、力控、MCGS、瑞尔、杰控等国内组态软件一点看法

    2005年08月28日 23 26 00 从结构上说 组态王和MCGS一样 前台动画和后台集成在一起 在运行模式下一起运行 而力控 瑞尔却分为后台驱动 实时数据库 前台三部分组成 更为有意思的是 瑞尔的每一个驱动就是一个EXE 其驱动DLL
  • Asp.Net中获取Castle容器中的服务的另一方法

    由于之前的表空间定义得太小 很快就用满了 给表空间新增了一个文件 新增到了4G 但发现还是不行 经查资料 明白除了要扩大表空间之外 还要授权给用户在这个表空间具有不受限制的表空间大小 如下为操作脚本 1 alter tablespace D
  • BAT脚本一键启动多个程序

    最近写代码 开机要开各种环境 IDE 每次都要对着桌面图标一个个点击 感觉非常麻烦 简直浪费生命 每天开机要花好几分钟打开这些东西 于是稍微学习了一下window下的bat脚本语言 写了一个极为简单而又实用的小脚本 一键将我需要的程序打开
  • SQLServer数据库数据备份的几种方法

    采用MS SQLServer数据库 在开发的过程中 需要对数据库的结构及数据进行备份 以便在另一个系统中进行安装和恢复 一般采用以下四种方法来处理 1 对数据库生成SQL脚本 恢复时通过查询分析器执行脚本 2 对数据库执行备份操作 恢复时先
  • Linux system函数返回值

    http blog cheyo net p 42 例 1 status system test sh 1 先统一两个说法 1 system返回值 指调用system函数后的返回值 比如上例中status为system返回值 2 shell返
  • java 读取文件 和 执行SQL脚本 (支持中文)

    读文件操作应用 执行SQL脚本文件 执行SQL脚本文件 param path throws SQLException throws ClassNotFoundException public void exeSQLScript String
  • Linux下Shell脚本编程简介

    最近经常使用Linux 感觉太频繁地敲击键盘有些累了 于是想到了Shell脚本 可以把太多的命令写成一个脚本 这样每次执行一遍sh文件 就可以省去了敲击键盘的时间 还可以保护键盘哦 于是在网上搜了一些有关Linux下脚本编程的内容 Shel
  • 使用Python编写Maya脚本插件批量导入Obj文件

    最近开发中遇到需要使用Python语言编写Maya脚本 要求使用脚本选择某一磁盘路径 脚本根据路径自动导入路径与子目录下的所有OBJ文件 并重命名它们 在Maya中 有自带的脚本编辑器供我们使用 这使得我们编写代码非常轻松 打开脚本编辑器
  • 【Python小脚本】实现王者农药自动刷金币啦~啦啦啦走跟我一起组队~

    前言 作者 程序员梨子 文章简介 本篇文章主要是写了自动刷金币脚本啦 文章源码获取 为了感谢每一个关注我的小可爱 每篇文章的项目源码都是无偿分 享滴 点这里蓝色这行字体自取 需要什么源码记得说标题名字哈 私信我也可 欢迎小伙伴们 点赞 收藏
  • Linux 启动脚本 完全注释 1 -- 整体流程

    Linux太伟大了 什么东西都可以由你来做主 Linux加载完内核后 所有的其他系统服务 进程 都是靠脚本来加载的 所以Linux是这么的透明 你可以清除的指导你的系统做了什么 下面我就对Linux的启动脚本做了注释 该脚本是属于LFS的
  • Fedora12 Linux启动过程

    1 加载BIOS BIOS Basic Input Output System 是固化到计算机内主板上一个ROM芯片上的程序 保存CPU相关信息 设备启动顺序信息 硬盘信息 内存信息等等 打开计算机电源第一项工作即加载BIOS 进行POST
  • Python多层字典取值

    usr bin python coding utf 8 author Bingo he file get target value py time 2017 12 22 def get target value key dic tmp li
  • Python版SSH远程服务器使用Paramiko和scp库

    作为开发人员 配置或调试VPS通常是无法解决的 而且并不是特别有意义 充其量 您的应用程序可能最终将以与本地环境相同的方式运行 我们如何才能使这一不可避免的工作变得更好 好吧 我们可以使其自动化 设置SSH密钥 要验证SSH连接 我们需要设
  • 搜索引擎批量查询控制脚本

    seo的工作需要我们会经常查询gg和百度的结果 收录也好排名也好 所以在做查询脚本时一定要控制查询时间来防止百度封锁禁止你的查询 当然有两种方法 1 不断变换代理 当然代价较大 2 控制查询请求的间隔 3 前两者结合使用 一般的脚本我们从性
  • crontab用法

    crontab用法 几个例子 我们来看一个超级用户的crontab文件 crontab 用法 crontab 命令用于安装 删除或者列出用于驱动 cron 后台进程的表格 也就是说 用户把需要执行的命令序列放到 crontab 文件中以获得
  • Shell函数和脚本参数

    1 在脚本中定义函数 functin name 直接的定义方式 语句块 function function name 使用关键字 function 定义的方式 语句块 函数命名规则 为了和变量区分 使用小写字母和下划线 以字母开头 不能使用
  • webpack 插件之Html-Webpack-Plugin

    webpack 插件之Html Webpack Plugin 1 为什么我们需要这个插件 先来看一个应用场景 我们自己打算搭建一个网站 这个网站有很多个页面 我们为每个页面创建一大堆的css样式 js脚本 然后尝试用webpack进行打包
  • Win10 LTSB/LTSC 录音机、图片查看器、便签

    Win10 LTSB LTSC 录音机 图片查看器 便签 文章目录 Win10 LTSB LTSC 录音机 图片查看器 便签 示例 录音机 图片查看器 便签 示例 文件下载地址 链接 https pan baidu com s 1YYwh9

随机推荐

  • 第二节课内容学习

    监听远程端口 并映射到本地 先配置ssh的公私钥非对称加密 假设远程开放的端口为33090 在本地计算机终端执行 ssh CNg L 6006 127 0 0 1 6006 root ssh intern ai org cn p 33090
  • 软件测试基础知识+面试题总结

    一 什么是软件 软件是计算机系统中的程序和相关文件或文档的总称 二 什么是软件测试 说法一 使用人工或自动的手段来运行或测量软件系统的过程 以检验软件系统是否满足规定的要求 并找出与预期结果之间的差异 说法二 软件测试就是利用一定的方法对软
  • 海报制作软件哪个好用?这几款功能强大且易于操作,快试试看

    近日工作状态be like 表面唯唯诺诺 私下骂骂咧咧 老板是觉得自己的嘴开过光吗 随便指个人叫她制作海报 那个人就能无师自通海报设计skill 是的没错 我就是那个倒霉蛋 作为一个完全没有海报设计基础的人 当时接到这个任务 我是想迎难而下
  • Java面试资料合集(24年目前最全整理面试跳槽必备)

    有了他们闭着眼睛也能找到工作 这段时间不是正好到了金三银四的季节了嘛 我司前段时间在整体环境不是很景气的大前提下也是招到了很多的开发小伙伴 听到开发组的组长说这批进来的一些新人还算是很优秀的 本来我心里的小算盘是 这样后面再给他们提一些需求
  • 网络安全从入门到精通(超详细)学习路线

    首先看一下学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想
  • U盘无法安全弹出怎么办?

    当电脑弹出 弹出USB大容量存储设备时出问题 提示时 只能抱着侥幸的心理直接拔出 如果运气好 可能没有什么事 如果运气不好 你的U盘可能就会报废 那么 为什么U盘无法弹出 遇到U盘无法安全弹出怎么办呢 U盘无法安全弹出的原因 在弹出U盘的过
  • 电脑文件夹怎么伪装?伪装文件夹的方法有哪些?

    伪装文件夹可以在一定程度上保护文件夹的数据安全 但是你知道怎么伪装文件夹吗 下面小编就为大家带来伪装文件夹的方法 让你轻松伪装文件夹 文件夹如何伪装 方法一 更换文件夹图标 我们在文件夹上单击鼠标右键 在菜单中选择 属性 在属性窗口中切换至
  • 通过一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • 一个网工(网络工程师)七年的职业血泪史....

    前言 一个工作了七年的老网工 上家公司待了五年 现在这家公司也快三年了 分享一些我自己学习网络安全路上的一些经历 也算是帮大家少走些弯路 一 如何学习网络安全 1 不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全 一般
  • mysql外键java. sql. SOLIntegrityConstraintViolationException: Cannot add or update a child row: a fore

    mysql外键java sql SOLIntegrityConstraintViolationException Cannot add or update a child row a foreign key constraint fails
  • 如何创建VPC并配置安全组以保护您的阿里云服务器

    将您的基础架构放在云上意味着您可以接触到全球的许多人 但是 这也意味着不怀好意的人可以访问您的服务 保护您的云网络非常重要 阿里云提供虚拟专用网络 VPC 这是一个安全隔离的私有云 将您的弹性计算服务 ECS 实例包含在公有云中 您可以通过
  • 赋能知识图谱形成:利用 BERTopic、DataMapPlot 和 Mistral AI 揭示见解(教程含完整代码)

    介绍 在不断发展的数据探索和知识表示领域 高级主题建模和直观数据可视化工具之间的协同作用变得至关重要 前沿主题建模框架 BERTopic 和直观数据可视化工具 DataMapPlot 的集成代表了知识图谱形成领域的重大进步 定义 BERTo
  • 2024年一套超详细Java面试精华资料,让进大厂少走弯路

    在座的诸位有没有是自学Java的 有的话评论区给我扣个1看看 但凡自学过的同学都知道有多难 虽说现在互联网非常发达 不明白的上网一搜就有很多资料 不过大多质量不高 而且非常碎片化 实在很难梳理成一个可持续成长的体系 所以有了这篇文章 我结合
  • 2024 年最新版 Java 面试题及答案整理(纯干货,超详细)

    程序员一步入中年 不知不觉便会被铺天盖地的 危机感 上身 曾经的那个少年已经不在 时间就是这样公平 就算你能发明 Java 语言 随着时间的推移 你注定还是要成为慢慢变蔫的茄子 缓缓变黑的葡萄 看着春招就要来临的消息 吓得我周末赶紧拿出了面
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 回归预测 | Matlab实现RIME-HKELM霜冰算法优化混合核极限学习机多变量回归预测

    回归预测 Matlab实现RIME HKELM霜冰算法优化混合核极限学习机多变量回归预测 目录 回归预测 Matlab实现RIME HKELM霜冰算法优化混合核极限学习机多变量回归预测 效果一览 基本介绍 程序设计 参考资料
  • 2024年如何使用WordPress构建克隆Udemy市场

    您想创建像 Udemy 这样的学习管理 LMS 网站吗 最好的 学习管理系统 工具LifterLMS将帮助您制作像Udemy市场这样的 LMS 网站 目录 Udemy市场是什么 创建 Udemy 克隆所需的几项强制性技术 步骤 1 注册您的
  • 小白成功搭建Elasticsearch 只需五步(包含配置xpack)

    ElasticSearch 安装成功后 是不需要使用用户名和密码就可以访问的 这也是在配置skywalking的apm过程中 连接es数据库无需设置用户名和密码的原因 启动es也非常的简单 在 bin 目录下运行elasticsearch
  • 精密划片机在电子烟芯片上的应用

    随着电子烟市场的不断扩大 电子烟芯片作为核心部件之一 其质量和安全性也受到了越来越多的关注 为了满足市场需求 提高电子烟芯片的制造效率和品质 精密划片机在电子烟芯片制造过程中发挥着越来越重要的作用 精密划片机是一种高精度 高效率的数控设备
  • 将指定文件夹中的图片文件复制到另一个文件夹,并按照自然数递增的命名规则重命名的程序

    文件目录结构 C data photos 1 2 3 4 5 6 7 8 photos new 1 2 3 4 5 6 7