首页 > 其他分享 >伪造网页数据(每个文件夹抽指定数量的图片并重命名)

伪造网页数据(每个文件夹抽指定数量的图片并重命名)

时间:2023-12-21 20:33:47浏览次数:35  
标签:网页 name parent os 文件夹 file directory new 伪造

(承接"公共标,特殊标"的结构)1.对于指定父目录结构,每个文件夹抽指定数量的随机图片。

import os
import shutil
import random

def find_image_folders(parent_directory):
    # 查找包含图片的文件夹
    image_folders = []
    for root, dirs, files in os.walk(parent_directory):
        if any(file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')) for file in files):
            image_folders.append(root)
    return image_folders

def copy_random_images(source_folder, target_folder, number_of_images):
    # 复制随机图片到目标文件夹
    images = [file for file in os.listdir(source_folder) if file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp'))]
    if not images or number_of_images <= 0:
        return
    selected_images = random.sample(images, min(number_of_images, len(images)))
    for image in selected_images:
        shutil.copy(os.path.join(source_folder, image), os.path.join(target_folder, image))

def main():
    parent_directory = input("请输入源父目录地址: ")
    number_of_images = int(input("请输入每个文件夹抽取图片的数量: "))
    target_folder = input("请输入目标文件夹的地址: ")

    if not os.path.exists(target_folder):
        os.makedirs(target_folder)

    image_folders = find_image_folders(parent_directory)

    for folder in image_folders:
        copy_random_images(folder, target_folder, number_of_images)

    print("图片复制完成。")

if __name__ == "__main__":
    main()

2.针对文件夹,去除图片第一个逗号及第一个逗号前的内容

import os

def clean_file_names(parent_directory):
    if not os.path.isdir(parent_directory):
        print("指定的目录不存在,请检查路径。")
        return

    try:
        os.chdir(parent_directory)
        for file_name in os.listdir():
            if ',' in file_name:
                new_name = file_name.split(',', 1)[1].strip()
                original_new_name = new_name
                # 检查是否存在同名文件,并调整新文件名直到它是唯一的
                counter = 1
                while os.path.exists(new_name):
                    # 添加计数器到文件名以避免重复
                    name, ext = os.path.splitext(original_new_name)
                    new_name = f"{name} ({counter}){ext}"
                    counter += 1

                os.rename(file_name, new_name)
                print(f"Renamed '{file_name}' to '{new_name}'")
            else:
                print(f"No change for '{file_name}'")
    except Exception as e:
        print(f"发生错误: {e}")

if __name__ == "__main__":
    while True:
        parent_directory = input("请输入父目录名称(或输入'exit'退出):")
        if parent_directory.lower() == 'exit':
            break

        clean_file_names(parent_directory)
        print("图片文件名清理完成。\n")

 

标签:网页,name,parent,os,文件夹,file,directory,new,伪造
From: https://www.cnblogs.com/zly324/p/17920058.html

相关文章

  • vue+element 上传文件及文件夹
    有需求需要做一个上传压缩包及文件夹的需求,记性不好,记录一下。HTML使用的element的upload和form表单,dropdown下拉菜单<div><el-col:span="24"><el-form-itemlabel="材料路径:"prop="fileName"><el-col:span="21&qu......
  • django+vue实现文件夹上传
    最近学django的文件上下传,网上的文件夹上下传压根没有,找了好几个,报错一大堆,没有一个能用,花里胡哨,可气!!!下面这个方法是我刚刚用过的,分享给大家。前端vue非常简单,template部分<inputtype="file"id="twos"webkitdirectory/><el-buttontype="primary"@click="sumfolder">文件夹......
  • APP应用加固指南:如何有效辨别,网络上伪造的地理位置?
    在数字互联时代,已经离不开地理位置数据。地理位置数据不仅仅是一个简单的坐标,更是一种数字足迹,描绘了人们在数字世界中的实际存在。这些数据为我们提供了关键的背景信息,让人们在享受数字服务的同时,也能更好地理解人们的生活环境。  首先,基于地理位置数据的地图和导航服务......
  • git 下载指定文件夹的方法
    有时候一个项目非常大,特别像一些课程源码往往只需要下载一个文件夹。下面是用git下载指定目录的办法。这里以 https://gitee.com/dotnetmoyu/SimpleAdmin.git为例,只下载其中的web文件夹。  git命令如下://克隆元数据到本地,但不开始下载gitclone-nhttps://gitee.......
  • vue上传图片到指定文件夹
    vue代码<template><divclass="app-container"> <divclass="wenben"><el-upload:disabled="dis==0?true:false"class="upload-demo":action="uploadUrl":on-......
  • Vue使用vue-simple-uploader上传文件夹
    Vue使用vue-simple-uploader上传文件夹先睹为快1点击上传“上传文件夹”按钮 2选择文件夹 3确定上传 4上传进度 引入控件installnpminstallvue-simple-uploader--savemain.js配置importuploaderfrom'vue-simple-uploader'Vue.use(uploader)vue......
  • Vue上传文件夹的实现
    一、上传文件夹基本流程在Vue中,上传文件夹的基本流程如下:1.用户在页面中选择要上传的文件夹;2.将该文件夹中的所有文件进行遍历;3.将遍历出来的每个文件使用formData对象进行处理;4.把所有处理好的formData对象上传到服务器。二、选择要上传的文件夹在Vue中,我们可以使......
  • 网页应用打包安卓App (全网最详细教程)
    如果你是一名Web开发者,想把自己开发的页面打包编译成App在手机运行,但是你对Java和Android一窍不通,那么本文章将指引你如何将Web项目走向安卓平台,去除任何浮躁,跟着本文操作起来吧1.参考文档HbuilderCloudHBuilderX安卓离线打包教程全一览——5+appDCLOUD社区......
  • 文件夹内取出图片
    importosimportshutildefcopy_images(source_folder,target_folder):"""从源文件夹复制所有图片文件到目标文件夹。支持常见的图片格式,如.jpg,.jpeg,.png,.gif,.bmp,和.tiff。"""image_extensions=('.jpg','.jpeg'......
  • Vue - 复制静态文件到 build的文件夹中
    Vue-复制静态文件到build的文件夹中 环境:vue2框架前提:在根目录下放置了Dockerfile 文件,在build时需要自动复制到dist文件夹里面。 1. 安装 copy-webpack-plugin 插件  在vue.config.js中引入插件constCopyWebpackPlugin=require('copy-webpack-plugin');......