python按顺序重命名文件并分类转移到各个文件夹中的实现代码

系统
ubuntu20.04
工具
python
要求
文件夹中有22个子文件夹,每个子文件又包含56个文件,要求将每个子文件夹中的第一个文件放到一个新文件夹中,第二个放一个新的中,一直到最后。
解决方案
1.复制源文件

import os
import shutil
#源文件路径
source_path='......'
#复制的新文件的路径
copy_source_path='.....'
#直接复制过去的话,经常会提示文件存在,所以加个判断语句
#判断路径是否存在源文件,如果有则删除
if os.path.exists(copy_source_path):
  shutil.rmtree(copy_source_path)
#复制文件过去
shutil.copytree(source_path,copy_source_path)

保留源文件可以增加自己操作的容错性,并可以检查自己操作是否满足要求,当然也可以直接复制粘贴源文件

2.创建新文件夹

def creat(files):
#创建名称为1~56的新文件夹
  for i in range(1,57):
 	#判断路径是否存在同名文件夹,如果没有则创建
   if not os.path.exists(files +'/' +str(i)):
    os.makedirs(files +'/' +str(i))
#输入路径
creat('......')

3.按顺序命名并转移到新文件中

#上面新文件夹所在路径
target_path='.......'
#总文件夹路径
for file in os.listdir(copy_source_path):
  j=1
  #拼接出文件完整路径
  source_path_1=os.path.join(copy_source_path,file)
  source_list=os.listdir(source_path_1)
  #对获取的文件名排序,否则是乱序修改
  source_list_1=sorted(source_list)
  #子文件夹路径
  for file_1 in source_list_1:
  #源文件地址,这里的源文件我用的是复制的文件
    oldname_path=os.path.join(source_path_1,file_1)
    #新文件夹路径
    for file_2 in os.listdir(target_path):
      if str(j)==file_2:
        target_path_1=os.path.join(target_path,file_2)
        #新文件路径以及新名称,这里新名称我是用的子文件名+文件序号+文件原来名称,而上面的判断语句就是判断文件序号与新文件夹名称是否相同
        newname_path=os.path.join(target_path_1,file +'-'+str(j)+'-'+file_1)
        #renamen指令不仅能重新命名而且不保留源文件以达到转移的目的
        os.rename(oldname_path,newname_path)
    #要对每个子文件夹中的文件顺序命名,注意j所在的循环,不要放错
    j+=1

到此这篇关于python按顺序重命名文件并分类转移到各个文件夹中的实现代码的文章就介绍到这了,更多相关python重命名文件并分类转移到各个文件夹中内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • bat和python批量重命名文件的实现代码

    最近从某网站下载了一批文档,但是文件是用数字串命名的文档(很多图书馆都这样吧),现在我也下载完了这些文件,也有这些文件的列表,就是不能一个一个的把文件给重命名吧所以从网上找了这几个脚本. 一.使用bat脚本(windows系统默认可用) 打开记事本,将这些代码写入记事本,另存为xx.bat文件(注意后缀名,很多小白保存成了xx.bat.txt,因为txt是隐藏的,以为不行) @echo off for /r "d:\pdf" %%a in (*.pdf) do ( for /f &qu

  • python根据list重命名文件夹里的所有文件实例

    如下所示: # coding = utf-8 import os path = "D:\\chunyu"#想要重命名所有文件存放的文件夹 filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹) list = [] fileopen = open('D:\chunyu.txt','r')#之后想要重命名成的所有名字的集合,这个名字为除去文件扩展名的文件名 i =0 for file in filelist: print(file) for line

  • 用python实现批量重命名文件的代码

    下面是最终代码 (windows下实现的) 复制代码 代码如下: # -*- coding: cp936 -*- import os path = 'D:\\图片\\' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: if file.find('.')<0: newname=file+'rsfdjndk.jpg' os.rename(os.path.join(path,file),os

  • python实现系统状态监测和故障转移实例方法

    复制代码 代码如下: #coding: utf-8import socketimport selectimport timeimport osimport threading def ser():    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)    s.bind(("",43244))    while 1:        infds,outfds,errfds = select.select([s],[],[],5)  

  • Python根据文件名批量转移图片的方法

    下面是在深度学习数据集处理过程中可能会用到的一个小程序,帮助我们根据图片文件的名字来分开图片: import os import shutil path_img='读取图片的路径' ls = os.listdir(path_img) print(len(ls)) for i in ls: if i.find('查找的关键词')!=-1: shutil.move(path_img+'/'+i,"输出保存的路径"+i) ---------使用示例---------- 例如我有如下的一个图片

  • python按顺序重命名文件并分类转移到各个文件夹中的实现代码

    系统 ubuntu20.04 工具 python 要求 文件夹中有22个子文件夹,每个子文件又包含56个文件,要求将每个子文件夹中的第一个文件放到一个新文件夹中,第二个放一个新的中,一直到最后. 解决方案 1.复制源文件 import os import shutil #源文件路径 source_path='......' #复制的新文件的路径 copy_source_path='.....' #直接复制过去的话,经常会提示文件存在,所以加个判断语句 #判断路径是否存在源文件,如果有则删除 if

  • Python os.rename() 重命名目录和文件的示例

    概述 os.rename() 方法用于重命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError. 语法 rename()方法语法格式如下: os.rename(src, dst) 参数 src – 要修改的目录名 dst – 修改后的目录名 返回值 该方法没有返回值 该方法 可以重命名 文件 和目录, 如果 src参数 对应文件或目录,不存在,会保错, 如果 dst 参数 对应文件或目录,已经存在,也会报错 实验方法: 在当前目录下,新建一个目录,名称为:te

  • python实现大量图片重命名

    本文实例为大家分享了python实现大量图片重命名的具体代码,供大家参考,具体内容如下 说明 在进行深度学习的过程中,需要对图片进行批量的命名处理,因此利用简单的python代码实现图片的命名格式处理 # -*- coding:utf8 -*- import os class BatchRename(): ''' 批量重命名文件夹中的图片文件 ''' def __init__(self): self.path = 'C:/Users/.../Data/Image' #表示需要命名处理的文件夹 d

  • python文件名批量重命名脚本实例代码

    python文件名批量重命名脚本 #encoding=utf-8 import cv2 import os import shutil base_dir = r'文件所在的文件夹路径' SourseDir1 = r'源文件1名' SourseDir2 = r'源文件2名' DestDir = r'IMG' DestSourseDir1NameDirPath = os.path.join(base_dir,DestDir) if not os.path.exists(DestSourseDir1N

  • Java 重命名 Excel 工作表并设置工作表标签颜色的示例代码

    通常在一份Excel文档中可能包含多个内容不同的工作表,而他们的默认名都为Sheet1.Sheet2.Sheet3等.为了方便我们的查找和操作,我们可以将这些工作表重新命名并设置不同的工作表标签颜色.本文就将介绍如何借助Free Spire.XLS for Java来完成这些操作. 产品导入: 1. 下载Free Spire.XLS for Java包并解压缩,然后将lib文件夹下的Spire.Xls.jar包作为依赖项导入到Java应用程序中. 2. 直接通过Maven仓库安装JAR包,按如下

  • Python如何对文件进行重命名

    目录 对文件进行重命名 对文件夹下文件按顺序重命名 先使用最简单的方法尝试一下 我们就可以看到文件夹已经按照顺序重命名了 接下来我们对文件进行重命名 先建一个文本文档 对文件进行重命名 直接贴代码: import os srcFile = './actwork/linkFile/allExtLinks - 副本.txt' dstFile = './actwork/linkFile/allExtLinks - copy.txt' try:     os.rename(srcFile,dstFile

  • Python基于mediainfo批量重命名图片文件

    案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的图片测试文件, 但是现有的图片资源名字命名的很随意比如:IMG_20200325_161111.jpg, 以上命名不能看出图片文件的具体图片编码格式,分辨率等信息, 测试经理要求我进行批量重命名工作,模板如下, 图片编码格式_分辨率_位深度_容器.容器, 例如: JPEG_1920x1080_32bit_jpg.jpg 图片编解码基本知识 图片编码:

  • Win10利用bat文件实现文件与文件夹批量重命名的实践

    目录 bat文件 批量重命名文件夹 批量重命名文件 后记 bat文件 利用Win10的bat文件能够实现垃圾清理.电脑关机等.同样的,使用Win的bat文件能够实现文件与文件夹的批量重命名,这样就免去了通过写一个脚本,或者代码程序来运行.做这个的初衷是在处理深度学习的数据集时,为了增加可识别性,将每一个图片文件重命名,特以博客以记之.参考网上的一些方式以及自己的试坑,最终总结如下. 批量重命名文件夹 在示例中我创建了1005个文件夹,如下图所示 bat文件代码如下,其中第五行是命名,!a!是一个

随机推荐