生成1000万行7位数字文件(编程珠玑)
今天看《编程珠玑》排序的问题。输入是一个千行文件。每行是7位数字。而且无反复。搜索了下。没有现成的数据集,所以简单用python生成了下。尽管简单!
思路:顺序生成,然后shuffle。
#!/usr/bin/python
f = open("numbers.txt", "w");
for i in range(0, 9999999):
s = str(i)
s = s.zfill(7)
s = s + '
'
f.write(s)
f.close()
RUN:得到的数据集大小是77M
python generate-numbers.py
ls -l --block-size=M numbers.txt
shuf -o outoforder.txt numbers.txt
head -n 10 outoforder.txt
- python整型和字符串的转换:int(), str()
- 利用str.zfill(width)进行字符串的填补
- 显示文件大小 ls -l –block-size=M
- 使用shuf命令将文件行随机排列 。从而得到相应的数据集。