Python生成指定大小文件:txt/图片/视频/csv
如题,做测试的懂的都懂,不多解释
相比其他大佬,本脚本基于gpt编写后整理,生成的文件更真实,能够打开预览,看过其他人的生成脚本,只是一个符合大小,但是是空白或不能打开的文件。
话不多说,看示例,记得在创建一个data目录。
代码示例:
import os
import time
import csv
from PIL import Image
import random
import numpy as np
import imageio
import cv2# pip install opencv-python
# pip install Pillow
def generate_txt(file_size):file_size_bytes = 1024 * 1024 * file_sizefile_path = './data/txt' + time.strftime('%Y%m%d') + '_' + str(file_size) + 'M.txt'text = "Women only affect the speed at which I type Pythong code." # 要重复的文本text_size_bytes = len(text.encode('utf-8')) # 每个重复的文本的大小(以字节为单位)repetitions = file_size_bytes // text_size_bytes # 需要重复的次数remainder = file_size_bytes % text_size_bytes # 剩余的字节数with open(file_path, 'w') as file:for _ in range(repetitions):file.write(text)if remainder > 0:file.write(text[:remainder])print("生成完成")def generate_video(target_filesize_mb, frame_width=1920, frame_height=1080, frame_rate=30):temp_filename = './data/image' + time.strftime('%Y%m%d') + '_' + str(target_filesize_mb) + 'M.mp4'fourcc = cv2.VideoWriter_fourcc(*"mp4v")out = cv2.VideoWriter(temp_filename, fourcc, frame_rate, (frame_width, frame_height))while True:frame = np.random.randint(0, 256, (frame_height, frame_width, 3), dtype=np.uint8)out.write(frame)current_filesize = (len(open(temp_filename, "rb").read())) / (1024 * 1024) # in MBif current_filesize >= target_filesize_mb:breakout.release()def generate_image(memory_size, filename):""":param memory_size: 生成图片的大小,单位是m:param filename: 生成图片的文件格式:return:"""filename = './data/image'+ time.strftime('%Y%m%d') +'_'+ str(memory_size) + 'M' '.'+filename# 计算所需的像素数量num_pixels = (memory_size * 1024 * 1024) // 3 # 每个像素占用 3 个字节(RGB模式)# 根据像素数量计算图片的长和宽img_width = int(np.sqrt(num_pixels))img_height = int(num_pixels / img_width)# 创建一个随机颜色的数组pixels = np.random.randint(0, 256, (img_height, img_width, 3), dtype=np.uint8)# 根据数组创建图片对象image = Image.fromarray(pixels, 'RGB')image.save(filename)def generate_csv(target_memory_mb):file_name = './data/csv_utf8 ' + time.strftime('%Y%m%d') +"_"+ str(target_memory_mb) + 'M.csv'row_data = "Data" * 100 # Adjust length to control memory usage per rowwith open(file_name, 'w', newline='', encoding='utf-8') as csv_file:writer = csv.writer(csv_file)while os.path.getsize(file_name) / (1024 * 1024) < target_memory_mb:writer.writerow([row_data])if __name__ == '__main__':# 生成一个大小为2MB的TXT文件generate_txt(2)# 生成15M视频generate_video(target_filesize_mb=15)# 生成一个10M 的png的图片generate_image(10, "png")# 以utf-8的格式,生成一个10M的csv文件 CSV 文件的大小通常由数据量和内容决定,而不是像 Excel 那样可以直接控制行高和列宽。CSV 文件的大小可能会受到编码和分隔符的影响generate_csv(target_memory_mb=10) # Change target memory size as needed相关文章:
Python生成指定大小文件:txt/图片/视频/csv
如题,做测试的懂的都懂,不多解释 相比其他大佬,本脚本基于gpt编写后整理,生成的文件更真实,能够打开预览,看过其他人的生成脚本,只是一个符合大小,但是是空白或不能打开的文件。 话…...
Arcgis中影像图切片有白斑或者白点
效果 步骤 1、3dmax渲染或者其它原片 2、Arcgis中加载图片 原数据效果 3、定义投影和转换坐标系等等 我这边测试数据是EPSG:4326的坐标系 4、导出jp2(JPG2000)格式 转换后效果 5、发布服务 6、效果对比...
nlohmann json:通过[ ]运算符读取设置object/array
除了可以通过at,还可以通过[ ]运算符来读取和设置object/array #include <iostream> #include <nlohmann/json.hpp> using namespace std; using json = nlohmann::json;int main() {json data = R"({"name": "xiaoming","age&quo…...
rust学习-tokio::time
示例 use std::time::Duration; use tokio::{task, time::interval};#[tokio::main] async fn main() {let mut interval interval(Duration::from_secs(1));let handle task::spawn(async move {loop {interval.tick().await;println!("tick");}});handle.await.…...
Java 中 List 集合排序方法
方式一: 调用List接口自己的sort方法排序 public static void main(String[] args) {List<Integer> numListnew ArrayList<>();numList.add(999);numList.add(123);numList.add(456);numList.add(66);numList.add(9);Collections.sort(numList); //使…...
prometheus监控k8s服务并告警到钉钉
一、监控k8s集群 要监控k8s集群需要使用到以下服务用于收集监控的资源信息,node_exporter用于监控k8s集群节点的资源信息,kube-state-metrics用于监控k8s集群的deployment、statefulset、daemonset、pod等的状态,cadvisor用于监控k8s集群的p…...
Go和Java实现解释器模式
Go和Java实现解释器模式 下面通过一个四则运算来说明解释器模式的使用。 1、解释器模式 解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口 解释一个特定的上下文。这种模式被用在 SQL 解析、符…...
域名配置HTTPS
一、注册域名 这个可以在各大平台注册,具体看一下就会注册了,自己挑选一个自己喜欢的域名。 步骤一般也就是先实名,实名成功了才能注册域名。 二、办理SSL证书 这里使用的是阿里云的SSL免费证书 1、申请证书 二、填写申请 三、域名绑定生…...
机械设计cad,ug编程设计,ug模具设计,SolidWorks模具设计
模具设计培训课程: 【第一阶段:CAD识图制图】 [AutoCAD机械制图]:全面讲解AUTOCAD应用知识,常用命令讲解与运用,二维平面图绘制,三维成型零件的绘制与设计,制作工程图 【第二阶段:U…...
嵌入式开发的学习与未来展望:借助STM32 HAL库开创创新之路
引言: 嵌入式开发作为计算机科学领域的重要分支,为我们的日常生活和产业发展提供了无限的可能。STMicroelectronics的STM32系列芯片以其出色的性能和广泛的应用领域而备受关注。而STM32 HAL库作为嵌入式开发的高级库,为学习者提供了更高效、更…...
WPS-0DAY-20230809的分析和利用复现
WPS-0DAY-20230809的分析和初步复现 一、漏洞学习1、本地复现环境过程 2、代码解析1.htmlexp.py 3、通过修改shellcode拿shell曲折的学习msf生成sc 二、疑点1、问题2、我的测试测试方法测试结果 一、漏洞学习 强调:以下内容仅供学习和测试,一切行为均在…...
MongoDB(三十九)
目录 一、概述 (一)相关概念 (二)特性 二、应用场景 三、安装 (一)编译安装 (二)yum安装 1、首先制作repo源 2、软件包名:mongodb-org 3、启动服务:…...
InnoDB引擎
1 逻辑存储结构 InnoDB的逻辑存储结构如下图所示: 1). 表空间 表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个…...
CSS3中的var()函数
目录 定义: 语法: 用法: 定义: var()函数是一个 CSS 函数用于插入自定义属性(有时也被称为“CSS 变量”)的值 语法: var(custom-property-name, value) 函数的第一个参数是要替换的自定义属性…...
opencv图片换背景色
#include <iostream> #include<opencv2/opencv.hpp> //引入头文件using namespace cv; //命名空间 using namespace std;//opencv这个机器视觉库,它提供了很多功能,都是以函数的形式提供给我们 //我们只需要会调用函数即可in…...
JAVA语言:什么是懒加载机制?
JVM没有规定什么时候加载,一般是什么时候使用这个class才会什么时候加载,但是JVM规定了什么时候必须初始化(初始化是第三步、装载、连接、初始化),只要加载之后,那么肯定是要进行初始化的,所以我们就可以通过查看这个类有没有进行初始化,从而判断这个类有没有被加载。 …...
jupyter默认工作目录的更改
1、生成配置文件:打开Anaconda Prompt,输入如下命令 jupyter notebook --generate-config询问[y/N]时输入y 2、配置文件修改:根据打印路径打开配置文件jupyter_notebook_config.py,全文搜索找到notebook_dir所在位置。在单引号中…...
Flutter系列文章-Flutter UI进阶
在本篇文章中,我们将深入学习 Flutter UI 的进阶技巧,涵盖了布局原理、动画实现、自定义绘图和效果、以及 Material 和 Cupertino 组件库的使用。通过实例演示,你将更加了解如何创建复杂、令人印象深刻的用户界面。 第一部分:深入…...
Elasticsearch在部署时,对Linux的设置有哪些优化方法?
部署Elasticsearch时,可以通过优化Linux系统的设置来提升性能和稳定性。以下是一些常见的优化方法: 1.文件描述符限制 Elasticsearch需要大量的文件描述符来处理数据和连接,所以确保调整系统的文件描述符限制。可以通过修改 /etc/security/…...
【网络基础】应用层协议
【网络基础】应用层协议 文章目录 【网络基础】应用层协议1、协议作用1.1 应用层需求1.2 协议分类 2、HTTP & HTTPS2.1 HTTP/HTTPS 简介2.2 HTTP工作原理2.3 HTTPS工作原理2.4 区别 3、URL3.1 编码解码3.2 URI & URL 4、HTTP 消息结构4.1 HTTP请求方法4.2 HTTP请求头信…...
Coq终极实践指南:深入解析形式化证明系统架构与应用
Coq终极实践指南:深入解析形式化证明系统架构与应用 【免费下载链接】coq The Rocq Prover is an interactive theorem prover, or proof assistant. It provides a formal language to write mathematical definitions, executable algorithms and theorems togeth…...
一文看明白PyTorch 模型设计训练保存加载预测
需求 #mermaid-svg-cD4ZWwao27fFcatX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-cD4ZWwao27fFcatX .ed…...
为什么头部科技公司集体弃用Workday转向Lindy?——基于14家客户迁移数据的自动化人效拐点分析
更多请点击: https://intelliparadigm.com 第一章:Lindy人力资源自动化方案的演进逻辑与战略定位 Lindy人力资源自动化方案并非孤立的技术堆叠,而是根植于企业数字化成熟度跃迁与HR职能价值重构双重驱动下的系统性进化。其演进逻辑呈现清晰的…...
智能安全监测之高空作业安全带识别图像数据集 施工工地安全帽识别 防护服佩戴识别 反光衣图像识别数据集 穿戴佩戴服装图像第10242期
线束计算机视觉数据集简介 类别Classes (4) 类别(4) Harness 安全带 Head 头部 Helmet 头盔 Person 人线束计算机视觉数据集核心信息表信息类别具体内容数据集类别目标检测类计算机视觉数据集,包含 4 个核心类别:安全带࿰…...
如何用5分钟让Windows任务栏变身?TranslucentTB零配置美化指南
如何用5分钟让Windows任务栏变身?TranslucentTB零配置美化指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否曾盯着W…...
5个实用技巧:使用Open Spectrometer Python进行光谱校准的最佳实践
5个实用技巧:使用Open Spectrometer Python进行光谱校准的最佳实践 【免费下载链接】open-spectrometer-python Open Source Spectrometer Python Scripts 项目地址: https://gitcode.com/gh_mirrors/op/open-spectrometer-python Open Spectrometer Python是…...
量子优化新突破:虚时间演化高效求解QUBO问题
1. 量子优化新范式:模拟虚时间演化解决QUBO问题在金融投资组合优化、物流路径规划和机器学习特征选择等领域,二次无约束二进制优化(QUBO)问题无处不在。这类NP难问题随着规模扩大,求解难度呈指数级增长,传统…...
HarmonyOS 6学习:动画流畅与截图性能的双重优化实战
在HarmonyOS应用开发中,用户体验的流畅性往往取决于那些看似微小的细节。今天,我将带你探索两个看似无关却都深刻影响用户体验的技术问题:文字翻转动画的延迟卡顿和长截图生成的性能瓶颈。这两个问题分别代表了动画渲染和图像处理两个关键领域…...
解析IFC:BIM领域的“通用语言”,好而不完美的开放标准
在建筑信息模型(BIM)的数字化协同体系中,IFC(Industry Foundation Classes,工业基础类)无疑是最具影响力的开放文件格式。它就像建筑行业的“通用语言”,打破了不同BIM软件之间的壁垒࿰…...
AI Agent智能体技术:从问答到执行的范式革命
标签:AI Agent、大模型、智能体、LangChain、ReAct、Function Calling 📖 前言 2026年5月20日,谷歌I/O 2026大会在美国加州山景城开幕。谷歌CEO桑达尔皮查伊(Sundar Pichai)在大会上宣布:“我们已正式进入’智能体Gemini时代’。”就在同一天,百度Create 2026大会上,…...
