#! /usr/bin/env python import sys, os, random if __name__ == '__main__': fbuff = 2**28 # file buffer size in bytes fints = 10**8 # number of integers to write fsize = 12 # number of digits to write per integer fname = os.path.splitext(os.path.basename(sys.argv[0]))[0] try: os.mkdir(fname) except OSError: pass # directory already exists fpath = os.path.join(fname, fname+'.dat') fhand = open(fpath, 'w', fbuff) sys.stdout.write('Writing %d MB to file \'%s\'\n' % (fints*(fsize+1)/10**6, fpath)) sys.stdout.write('This will take some time, please wait.\n') sys.stdout.write('Progress:') sys.stdout.flush() random.seed(-1) fform = '%'+str(fsize)+'d\n' for x in xrange(fints): fhand.write(fform % (random.randint(0,fints))) if x % (fints/10) == 0 and x > 0: sys.stdout.write('%3d/10' % (x/(fints/10))) sys.stdout.flush() sys.stdout.write(' 10/10\n') sys.stdout.flush() fhand.close()