【批量修改文件名并移动】

这篇具有很好参考价值的文章主要介绍了【批量修改文件名并移动】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

若仅批量修改文件名,可查看批量修改文件名,这里主要介绍批量修改文件名并移动到新的文件夹中的方法,具体代码如下(代码中有注释进行详细说明):文章来源地址https://www.toymoban.com/news/detail-619531.html

import os.path
import shutil
import os 
num = 0 #修改文件名的数量词
imge_count = 717
#保存图片模块
def moveFiles(path, disdir):  # path为原始路径,disdir是移动的目标目录

    dirlist = os.listdir(path)
    for i in dirlist:
        child = os.path.join('%s/%s' % (path, i))
        if os.path.isfile(child):            
            imagename, jpg = os.path.splitext(i)  # 分开文件名和后缀
            shutil.copy(child, os.path.join(disdir, imagename + ".jpg"))#保存格式自己设置
            # 复制后改为原来图片名称
            # 也可以用shutil.move()
            continue
        moveFiles(child, disdir)
#重命名模块
def rename(img_folder):
    for img_name in os.listdir(img_folder):  # os.listdir(): 列出路径下所有的文件
        #os.path.join() 拼接文件路径
        global imge_count
        src = os.path.join(img_folder, img_name)   #src:要修改的目录名
        dst = os.path.join(img_folder, 'BulletHole_'+ str(imge_count) + '.jpg') #dst: 修改后的目录名      注意此处str(num)将num转化为字符串,继而拼接
        imge_count= imge_count + 1
        os.rename(src, dst) #用dst替代src

def get_source_img_path(rootPath):
    file_ls = []
    for root, dirs, files in os.walk(rootPath):
        if files:
            root_file_ls = [os.path.join(root, file) for file in files]
            file_ls.append(root_file_ls)
    return file_ls

def get_child_dirsName(rootPath):
    childDirsName = []
    for root, dirs, files in os.walk(rootPath):
        for dir in dirs:
            childDirsName.append(str(dir))
    return childDirsName

def main():
    rootPath = "/home/y/Code/test/dataset/"

    childDirsName = get_child_dirsName(rootPath)
    for dir_name in childDirsName:
        #要修改文件名的路径
        img_folder0 =  rootPath + dir_name #图片的文件夹路径    直接放你的文件夹路径即可
        rename(img_folder0)

        #保存图片代码
        disdir = '/home/y/Code/test/test_dataset'  # 移动到目标文件夹
        moveFiles(img_folder0, disdir)

if __name__=="__main__":
    main()

到了这里,关于【批量修改文件名并移动】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速批量修改文件名,微软官方软件PowerRename

    https://github.com/microsoft/PowerToys/releases https://apps.microsoft.com/store/detail/microsoft-powertoys/XP89DCGQ3K6VLD 在命令行/PowerShell 运行以下命令即可: 这一步如果没有PowerRename选项的可以在PowerToys(第一步下载的软件)中启用PowerRename,并把在上下文菜单中隐藏图标取消勾选 选中使用正则表达式,

    2024年02月05日
    浏览(70)
  • Linux批量快速修改文件名的三种方法

    在Linux中, 批量重命名文件 是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是一种强大的批量重命名工具,它支持使用正则表

    2024年04月11日
    浏览(63)
  • python 批量修改文件名(PDF、word、Excel、图片、视频等)

          很多朋友遇到批量修改文件名的问题,网上各种搜,操作麻烦不说还有些需要付费。这里不多废话,直接上代码。 一、支持库 二、 定义函数 三、程序入口 四、运行,微云 下载:文件分享

    2024年01月23日
    浏览(65)
  • web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename

    以上代码只能在node环境下运行,在浏览器环境中运行报错。 node index.js

    2024年02月01日
    浏览(81)
  • 如何在 Linux 中批量改变文件名?

    在Linux中,使用 \\\"rename\\\" 命令可以批量修改文件名。具体步骤如下: 1. 打开终端并进入你要批量修改文件名的目录: ``` cd /path/to/directory ``` 2. 使用 \\\"rename\\\" 命令来修改文件名。例如,将所有的 \\\".txt\\\" 文件扩展名改为 \\\".md\\\" 扩展名,可以使用以下命令: ``` rename \\\'s/.txt$/.md/\\\' *.txt ```

    2024年02月05日
    浏览(59)
  • “智能文件批量改名工具:轻松管理文件名,一键去除特殊符号“

    你是否曾经在面对一堆文件名中包含特殊符号,而感到困扰,不知道如何快速、准确地处理它们?现在,我们为你带来了一款智能文件批量改名工具,它可以轻松地帮助你去除文件名中的特殊符号,让你的文件管理更加规范、高效。 首先,我们要进行文件批量改名高手主页面

    2024年02月07日
    浏览(48)
  • mac批量在文件名前面加相同文字?

        mac批量在文件名前面加相同文字?你平时在使用电脑进行工作或者学习的时候,是不是需要做一些关于文件整理和保存的操作呢,并且还需要对一大堆的文件进行重名呢?相信很大多数小伙伴都要面对这些,经常需要将大量文件的名称修改成我们想要的样子,以满足我嫩

    2024年02月16日
    浏览(53)
  • 如何批量提取pdf文件名到excel?

    nbsp; nbsp; 如何批量提取pdf文件名到excel?在大家整理PDF文档的时候会不会遇到下面这些问题,首先PDF过多,每个PDF文件都有自己的名字,我们想要分类排放的话非常麻烦,不仅耗费时间而且带来的收益非常低,然后即使我们整理好了PDF文档,后续想要寻找这些PDF文档的话也是

    2024年02月03日
    浏览(60)
  • windows 系统批量去掉文件名前缀 bat 脚本

    在 Windows 系统上,你可以使用批处理脚本(.bat 文件)来批量去掉文件名的前缀。以下是一个简单的示例脚本,你可以根据自己的需求进行修改: 将上述脚本保存为扩展名为 .bat 的文件,并将 \\\"C:PathToYourFolder\\\" 替换为你想要批量移除文件名前缀的文件夹路径,以及将 \\\"OldPr

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包