summaryrefslogtreecommitdiff
path: root/create-files
blob: 9aac59b7ff8ce922bb5de79d247a16ff124c8c1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/env python3


import os
import sys
import time


def dirnames(a, b):
    dir_a = f"{root}/{a}"
    dir_b = os.path.join(dir_a, str(b))
    if not os.path.exists(dir_a):
        os.mkdir(dir_a)
    if not os.path.exists(dir_b):
        os.mkdir(dir_b)
    return dir_a, dir_b


started = time.time()

root = sys.argv[1]
numfiles = int(sys.argv[2])
if not os.path.exists(root):
    os.mkdir(root)

per_level = 10 ** 3
a = b = c = 0
dir_a, dir_b = dirnames(a, b)
prev_status = 0
for i in range(numfiles):
    filename = os.path.join(dir_b, f"file-{i}")
    open(filename, "w").close()

    c += 1
    if c == per_level:
        c = 0
        b += 1
        if b == per_level:
            b = 0
            a += 1
        dir_a, dir_b = dirnames(a, b)

    percent = 100.0 * float(i) / float(numfiles)
    now = time.time()
    duration = now - started
    if duration > 1:
        speed = i / duration
    else:
        speed = 1
    if speed < 1:
        print(speed, i, duration)
    eta = (numfiles - i) / speed

    if now - prev_status > 1:
        sys.stdout.write(
            f"\rCreated {i} of {numfiles} files ({percent:.2f}%), at {speed:.0f}/s, {eta:.0f}s remaining"
        )
        prev_status = now

sys.stdout.write("\n")