用Python创建大型随机内容文件

问题描述 投票:0回答:1

我正在研究SSD驱动器的特性,以确定最大TBW /预期寿命。

目前我正在使用BASH生成具有随机(非零)内容的500MB文件:

dd if=<(openssl enc -aes-128-cbc -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero) of=/media/m2_adv3d/abc${stamp1} bs=1MB count=500 iflag=fullblock&

Note : {stamp1} is a time stamp for ensuring unique file names.

我希望在Python中完成相同的结果,但我找不到有效的方法(快速生成文件)。

寻找建议。

谢谢!


更新

我一直在试验以下内容,似乎已经实现了2秒写入;文件似乎是随机的和不同的:

import os

newfile = open("testfile.001", "a")
newfile.write (os.urandom(500000000))    # generate 500MB random content file
newfile.close ()

有点怀疑这是否真的足以强调SSD。基本上无限循环这个;一旦驱动器已满,删除到最旧的文件并写入新文件,并收集每500个文件中的SMART数据以趋势老化。

思考?

谢谢,

Dan.

python python-3.x python-2.7 ssd
1个回答
0
投票

你可以尝试像这样简单的事情。

import pandas as pd
import numpy as np

rows = 100000
cols = 10000

table_size = [rows,cols]

x = np.ones(table_size)
pd.DataFrame(x).to_csv(path)

您可以更新表格大小以使其更大或更小。我不确定这是否比你已经尝试的更有效率。

© www.soinside.com 2019 - 2024. All rights reserved.