首页 > 其他分享 >图片归类生成文件夹然后生成word

图片归类生成文件夹然后生成word

时间:2023-10-11 09:55:26浏览次数:30  
标签:word root 生成 文件夹 file path folder os

import os
import shutil

# 指定根文件夹路径
root_folder = "C:/Users/Administrator/Desktop/qrCode2"

# 创建两个子文件夹
if not os.path.exists(os.path.join(root_folder, '20')):
    os.makedirs(os.path.join(root_folder, '20'))
if not os.path.exists(os.path.join(root_folder, '线路')):
    os.makedirs(os.path.join(root_folder, '线路'))

# 遍历根文件夹下的所有png图片文件
for file in os.listdir(root_folder):
    if file.endswith('.png'):
        # 检查文件名是否包含"20-"
        if '20-' in file:
            # 移动文件到"20"文件夹
            shutil.move(os.path.join(root_folder, file), os.path.join(root_folder, '20', file))
        else:
            # 移动文件到"线路"文件夹
            shutil.move(os.path.join(root_folder, file), os.path.join(root_folder, '线路', file))

# 指定根文件夹路径
root_folder = "C:/Users/Administrator/Desktop/all"

# 创建两个子文件夹
if not os.path.exists(os.path.join(root_folder, '20')):
    os.makedirs(os.path.join(root_folder, '20'))
if not os.path.exists(os.path.join(root_folder, '线路')):
    os.makedirs(os.path.join(root_folder, '线路'))

# 遍历根文件夹下的所有子文件夹
for foldername in os.listdir(root_folder):
    if os.path.isdir(os.path.join(root_folder, foldername)):
        # 检查文件夹名称是否包含"20-"
        if '20-' in foldername:
            # 定义目标路径
            target_path = os.path.join(root_folder, '20', foldername)
            # 如果目标路径存在,则选择一个新的目标路径或删除现有的目标路径
            if os.path.exists(target_path):
                # 选择一个新的目标路径或删除现有的目标路径(前提是它是一个空文件夹)
                new_target_path = os.path.join(root_folder, '线路', foldername)
                shutil.move(os.path.join(root_folder, foldername), new_target_path)
            else:
                # 移动文件夹到"20"文件夹
                shutil.move(os.path.join(root_folder, foldername), target_path)
        # 如果文件夹名称为"20"或"线路",则跳过
        elif foldername in ['20', '线路']:
            continue
        else:
            # 移动文件夹到"线路"文件夹
            shutil.move(os.path.join(root_folder, foldername), os.path.join(root_folder, '线路', foldername))

# 给定一个只有png图片的文件夹地址
png_folder = "C:/Users/Administrator/Desktop/qrCode2/20"

# 和一个有n个文件夹的根文件夹地址
root_folder = "C:/Users/Administrator/Desktop/all/20"

# 获取png_folder中的所有文件名
files = os.listdir(png_folder)

# 创建一个名为"新建文件夹1"的新文件夹,如果它还不存在的话
new_folder = "新建文件夹1"
new_folder_path = os.path.join(root_folder, new_folder)
if not os.path.exists(new_folder_path):
    os.makedirs(new_folder_path)
#字符个数循环
for i in range(6, 0, -1):
    # 遍历所有PNG图片
    if i == 1 :
        for file in files:
            # 检查文件是否为PNG图片
            if file.endswith('.png'):
                # 获取文件名前i个字符
                file_prefix = file[:i]
                # 遍历所有子文件夹,检查是否有匹配的文件夹
                for foldername in os.listdir(root_folder):
                    # 获取子文件夹名称前i个字符
                    folder_prefix = foldername[:i]
                    # 如果匹配,将图片复制到相应的文件夹中
                    if file_prefix == folder_prefix:
                        source = os.path.join(png_folder, file)
                        destination = os.path.join(root_folder, foldername, file)
                        shutil.move(source, destination)
                        break  # 如果找到匹配的文件夹,就跳出内层循环,处理下一张图片
                    else:
                        # 如果没有找到匹配的文件夹,则将文件移动到"新建文件夹1"中
                        src = os.path.join(png_folder, file)
                        dst = os.path.join(new_folder_path, file)
                        shutil.move(src, dst)
                        break
    else :
        for file in files:
            # 检查文件是否为PNG图片
            if file.endswith('.png'):
                # 获取文件名前i个字符
                file_prefix = file[:i]
                # 遍历所有子文件夹,检查是否有匹配的文件夹
                for foldername in os.listdir(root_folder):
                    # 获取子文件夹名称前i个字符
                    folder_prefix = foldername[:i]
                    # #建立子文件地址
                    # file_path = root_folder + '/' + foldername
                    # if any(f.endswith('.png') for f in os.listdir(file_path)):
                    #     # 如果有图片,就跳过这个文件夹,处理下一个文件夹
                    #     continue
                    # 如果匹配,将图片复制到相应的文件夹中
                    if file_prefix == folder_prefix:
                        source = os.path.join(png_folder, file)
                        destination = os.path.join(root_folder, foldername, file)
                        shutil.move(source, destination)
                        break  # 如果找到匹配的文件夹,就跳出内层循环,处理下一张图片
# 给定一个只有png图片的文件夹地址
png_folder = "C:/Users/Administrator/Desktop/qrCode2/线路"

# 和一个有n个文件夹的根文件夹地址
root_folder = "C:/Users/Administrator/Desktop/all/线路"

# 获取png_folder中的所有文件名
files = os.listdir(png_folder)

# 创建一个名为"新建文件夹1"的新文件夹,如果它还不存在的话
new_folder = "新建文件夹1"
new_folder_path = os.path.join(root_folder, new_folder)
if not os.path.exists(new_folder_path):
    os.makedirs(new_folder_path)
#字符个数循环
for i in range(6, 0, -1):
    # 遍历所有PNG图片
    if i == 1 :
        for file in files:
            # 检查文件是否为PNG图片
            if file.endswith('.png'):
                # 获取文件名前i个字符
                file_prefix = file[:i]
                # 遍历所有子文件夹,检查是否有匹配的文件夹
                for foldername in os.listdir(root_folder):
                    # 获取子文件夹名称前i个字符
                    folder_prefix = foldername[:i]
                    # 如果匹配,将图片复制到相应的文件夹中
                    if file_prefix == folder_prefix:
                        source = os.path.join(png_folder, file)
                        destination = os.path.join(root_folder, foldername, file)
                        shutil.move(source, destination)
                        break  # 如果找到匹配的文件夹,就跳出内层循环,处理下一张图片
                    else:
                        # 如果没有找到匹配的文件夹,则将文件移动到"新建文件夹1"中
                        src = os.path.join(png_folder, file)
                        dst = os.path.join(new_folder_path, file)
                        shutil.move(src, dst)
                        break
    else :
        for file in files:
            # 检查文件是否为PNG图片
            if file.endswith('.png'):
                # 获取文件名前i个字符
                file_prefix = file[:i]
                # 遍历所有子文件夹,检查是否有匹配的文件夹
                for foldername in os.listdir(root_folder):
                    # 获取子文件夹名称前i个字符
                    folder_prefix = foldername[:i]
                    # #建立子文件地址
                    # file_path = root_folder + '/' + foldername
                    # if any(f.endswith('.png') for f in os.listdir(file_path)):
                    #     # 如果有图片,就跳过这个文件夹,处理下一个文件夹
                    #     continue
                    # 如果匹配,将图片复制到相应的文件夹中
                    if file_prefix == folder_prefix:
                        source = os.path.join(png_folder, file)
                        destination = os.path.join(root_folder, foldername, file)
                        shutil.move(source, destination)
                        break  # 如果找到匹配的文件夹,就跳出内层循环,处理下一张图片

 

标签:word,root,生成,文件夹,file,path,folder,os
From: https://www.cnblogs.com/springcloud/p/17756332.html

相关文章

  • 如何用IDEA生成Javadoc
    在IDEA的工具选项卡中选择生成JavaDoc如图所示生成JavaDoc​ -encodingUTF-8-charsetUTF-8......
  • 运算符-包机制-javaDoc生成文档
    publicclassDemo12{publicstaticvoidmain(String[]args){//与(and)或(or)非(取反)booleana=true;booleanb=false;System.out.println("a&&b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才为trueSystem.......
  • 执行wordcount报错及解决
    今天在执行wordcount词频统计时报错执行语句为hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jarwordcountwcinputwcoutput报错如下 这表示指定的输入路径hdfs://hadoop102:8020/user/atguigu/wcinput不存在然后我打开hadoop可视化网页一看确实......
  • 【对拍】生成合法的中缀代数表达式
    #include<bits/stdc++.h>usingnamespacestd;constintmaxn=1000005;#defineintlonglong#definerep(i,j,k)for(inti=(j);i<=(k);++i)#definedow(i,j,k)for(inti=(j);i>=(k);--i)#defineprpair#definepbpush_back#definemkpmake_pair#de......
  • 抽象工厂和生成器模式
              ......
  • OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)
    背景某机房内部访问需要配置HTTPS,网上找的一些证书教程都不是特别好,有些直接生成证书,没有根CA的证书导致信任不了Ubuntu机器,有些教程只有域名生成,没有IP生成,有些甚至报错。故发一个笔者在Ubuntu22.04机器上测试正确可用的流程,这里使用10.12.0.2作为例子生成一个证书......
  • 记一次Word 表格处理
    privatestaticvoidMain(string[]args){//假定,每个表格都只有三张照片且按以下方式排列/*"GIS平面图""GIS平面图""GIS平面图"---------------------------......
  • 基于Java Swing和BouncyCastle的证书生成工具
    "Almostnoonewillrememberwhathehadjustnotinterested."-Nobody“几乎没有人会记得他所丝毫不感兴趣的事情。”——佚名0x00大纲目录0x00大纲0x01前言0x02技术选型0x03需求分析目标用户用户故事功能需求安全需求兼容需求性能需求0x04原型设计主窗体RSA根......
  • powershell 获取文件夹的大小
        powershell获取文件夹的大小$startFolder="C:\users"  $colItems=(Get-ChildItem$startFolder |Where-Object{$_.PSIsContainer-eq$True}|Sort-Object)foreach($iin$colItems)  {    $subFolderItems=(Get-ChildItem$i.FullName......
  • word自动生成目录和调整页码字体的方法
    一、word自动生成目录标题样式“,首先添加”一级标题“(也可以直接在段落中设置)。   按添加一级标题的方法添加”二级标题“、三级标题等。   按照上面的方法把各级标题添加好,下面就开始自动生成目录。”引用“→”Word左上角“目录”。二、调整页码字体参考:https://wenk......