我需要填写一个由编号(测试数据)标识的大量记录的文件。记录数量非常大,这些编号应该是唯一的,并且记录的顺序应该是随机的(或伪随机的)。
我尝试过以下方法:
# 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()
但它正在消耗我的所有内存。
有没有一种方法可以生成一个大的洗牌的连续(不一定是唯一的,但最好是连续的)整数序列?使用生成器而不是将整个序列保存在内存中?