-
-
Save juniorh/3b2fb0a80cddb8e407b3 to your computer and use it in GitHub Desktop.
Open all file was created by use dummyFileGenerator.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# How to use | |
# > python genFileDummy.py -r 1 -d /data/ -n 100000 | |
# file structure will be like: | |
# /data/aa/bb/cc/dd | |
import argparse | |
import time | |
import sys | |
import os | |
i = 0xffffffff+1 | |
f = [] | |
def get_args_parser(): | |
parser = argparse.ArgumentParser(add_help=False) | |
parser.add_argument( | |
"-n", "--number", | |
default=False, | |
nargs='?', | |
type=int, | |
help="Number files is generated (max 2^32)") | |
parser.add_argument( | |
"-d", "--dir", | |
default='.', | |
nargs='?', | |
type=str, | |
help="Directory base") | |
parser.add_argument( | |
"-r", "--report", | |
default=0, | |
nargs='?', | |
type=int, | |
help="Print report every r second") | |
parser.add_argument( | |
"--help", | |
default=False, | |
action='store_true', | |
help="Show this help") | |
return parser | |
def openfile(n): | |
tmpfile = None | |
hexstr = format(n,'x') | |
level1 = hexstr[1:3] | |
level2 = hexstr[3:5] | |
level3 = hexstr[5:7] | |
level4 = hexstr[7:9] | |
path = args.dir+'/'+level1+'/'+level2+'/'+level3 | |
try: | |
tmpfile = open(path+'/'+level4, 'w') | |
except: | |
print "retry openfile "+str(n-i+1) | |
tmpfile = open(path+'/'+level4, 'w') | |
return tmpfile | |
if __name__ == '__main__': | |
parser = get_args_parser() | |
args = parser.parse_args() | |
if args.help or not args.number or args.number > i: | |
parser.print_help() | |
parser.exit() | |
sys.exit() | |
if not os.path.exists(args.dir): | |
print "Base directory "+args.dir+" doesn't exist" | |
sys.exit() | |
t = time.time() | |
for j in range(i,i+args.number): | |
f.append(openfile(j)) | |
if args.report: | |
if time.time() - t > args.report: | |
t = time.time() | |
print "open file number: "+str(j-i+1) | |
print "open file number: "+str(j-i+1) | |
while 1: | |
print time.time() | |
time.sleep(1) | |
sys.exit() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment