python - 在 Python 中创建大型随机内容文件

标签 python python-3.x python-2.7 solid-state-drive

我正在研究 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 数据以趋势老化。

想法?

谢谢

丹。

最佳答案

os.urandom 选项最适合生成大型随机文件。

关于python - 在 Python 中创建大型随机内容文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54930071/

相关文章:

python-2.7 - pyqtgraph删除pyqt4 gui中的持久图例

python - 创建列的内存高效方法,该列指示来自一组列的值的唯一组合

python - pymongo 集合对象序列化 __getnewargs__ 方法

python - 按项目获取列表列表中的唯一条目

python - boxlayout中的文本左对齐

python - 处理文件的正确方法?

python - 如何使用 Python Django 在本地和远程服务器上运行 Selenium 测试?

python - 使用嵌套 for 循环的推导式创建字典

Python 网站使用 'soup.findall' 抓取所有标签

windows - `ProcessPoolExecutor` 在 Ubuntu 上工作,但在 Windows 10 上运行带有 Python 3.5.3 的 Jupyter 5.0.0 笔记本时失败并显示 `BrokenProcessPool`