import tempfile import os import random def mkdir_p(path): try: os.makedirs(path) except OSError as exc: if exc.errno == errno.EEXIST and os.path.isdir(path): pass else: raise def construct_dirs2(path): dirs = 0 nfiles = 0 for x in range(300000): dirs += 1 deep_path = os.path.join(path, str(x)) mkdir_p(deep_path) fd, fname = tempfile.mkstemp(suffix='.txt', prefix='testfind_', dir=deep_path, text=True) os.close(fd) nfiles += 1 print "ndirs: {} nfiles: {}".format(dirs, nfiles) def main(): _basedir = '.' workdir = tempfile.mkdtemp(prefix='find_test_', dir=_basedir) assert os.path.exists(_basedir) assert os.path.exists(workdir) # construct dirs construct_dirs2(workdir) if __name__ == '__main__': main()