Python生成指定大小文件
2016-11-19 11:03
459 查看
在平时做实验的过程中,经常需要生成一些测试数据,比如指定文件大小、文件记录数,以及文本型、数字型数据等要求。本文记录使用Python生成指定大小的文件和生成指定数量的数据文件两种方式,以及另一个Python小程序,可以读取文件验证文件的行数,即记录数。
以下程序均为Python3版本。
通过f.write()往文件内写入数据,这里写入的数据是-1000~1000内的随机数浮点数,保留两位小数点。写入的时候如果不是String类型的数据,必须通过str()转换。
文件内容随机,且不重复。
程序设置了buffer缓存数据,具体大小可以根据自己的文件大小进行调节。
以下程序均为Python3版本。
1. 生成指定大小的文件
#!/usr/bin/env python #-*- coding:utf-8 -*- import os import random def genSizeFile(fileName, fileSize): #file path filePath="Data"+fileName+".txt" # 生成固定大小的文件 # date size ds=0 with open(filePath, "w", encoding="utf8") as f: while ds<fileSize: f.write(str(round(random.uniform(-1000, 1000),2))) f.write("\n") ds=os.path.getsize(filePath) # print(os.path.getsize(filePath)) # start here. genSizeFile("1k",1*1024)
通过f.write()往文件内写入数据,这里写入的数据是-1000~1000内的随机数浮点数,保留两位小数点。写入的时候如果不是String类型的数据,必须通过str()转换。
2. 生成指定数量的数据文件
#!/usr/bin/env python #-*- coding:utf-8 -*- import os import random def genNFile(fileNum): numCount=fileNum numRange=3*numCount tmpList=random.sample(range(numRange), numCount) i=0 filePath=""+str(numCount)+".txt" with open(filePath, "w", encoding="utf8") as f: while i<numCount: f.write(str(tmpList[i])) f.write("\n") i=i+1 genNFile(11000)
文件内容随机,且不重复。
3. 查看文件记录数
主要思想在于统计文件内换行符\n的数量,即为文件的行数。
程序设置了buffer缓存数据,具体大小可以根据自己的文件大小进行调节。
#!/usr/bin/env python #-*- coding:utf-8 -*- def countLine(thefilepath): count = 0 with open(thefilepath, 'rb') as thefile: while True: buffer = thefile.read(100*1024*1024) if not buffer: break count += str(buffer, encoding = "utf8").count('\n') print(count) # thefile.close( ) # here. path="Data"+"1G"+".txt" countLine(path)
4. 小结
关于Python的资料很多,生成指定大小文件的方式也有,但是部分资料生成的数据为无意义文本,不适用于某些特定场景。本文记录的程序也不一定适合所有人,不过可以根据已有的程序和实现思路,举一反三,引申、拓展出自己想要的效果。相关文章推荐
- Python快速生成指定大小的大文件
- python3.6深度学习图片集处理项目源代码(为cnn等准备图片集合,批量生成、删除、改名、旋转、调整图片大小,包括删除指定路径下所有文件)
- Java、Linux、Win 快速生成指定大小的空文件
- python 生成MD5码及向文件输出文件大小
- Linux技巧——用dd生成指定大小的文件
- Linux 生成指定大小文件命令 dd
- python 生成目录树及显示文件大小的代码
- 批处理生成指定大小的文件
- 生成指定大小的空文件
- python 生成器按指定大小读取文件
- python处理文本文件实现生成指定格式文件的方法
- python 按照日期切分大日志文件(重点)和按照指定大小切分日志文件
- Linux 下用 dd 命令生成一个指定大小的虚拟块设备文件
- linux生成指定大小的文件
- Linux下dd命令生成一个指定大小的虚拟块设备文件
- 生成指定大小文件
- python处理文本文件,生成指定格式的文件
- python处理文本文件实现生成指定格式文件的方法
- 「python自动化运维」之自动生成配置文件并上传到目标服务器指定的位置
- python文本文件,生成指定的文件格式