我需要用数字(测试数据)标识的大量记录填充一个文件。记录的数量很大,ids应该是唯一的,记录的顺序应该是随机的(或伪随机的)。
我试过这个:
# coding: utf-8
import random
COUNT = 100000000
random.seed(0)
file_1 = open('file1', 'w')
for i in random.sample(xrange(COUNT), COUNT):
file_1.write('ID{0},A{0}\n'.format(i))
file_1.close()
但它正在吞噬我所有的记忆。
有没有办法生成一个大的连续(不一定,但它会很好,否则是唯一的)整数的洗牌序列?使用生成器而不将所有序列保存在 RAM 中?