Skip to content

Instantly share code, notes, and snippets.

@s-hiiragi
Created March 5, 2020 15:03
Show Gist options
  • Save s-hiiragi/ba8551046e3c29ed5d2d651649032f3f to your computer and use it in GitHub Desktop.
Save s-hiiragi/ba8551046e3c29ed5d2d651649032f3f to your computer and use it in GitHub Desktop.
Generate files with random names
# > python --version
# Python 3.8.2
# > python genfile2.py -n 100000 --max 200
# > attrib *2.csv
import sys
import random
import argparse
from pathlib import Path
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--num-files', type=int, default=10)
parser.add_argument('--min', type=int, default=1)
parser.add_argument('--max', type=int, default=100)
return parser.parse_args()
def main():
args = parse_args()
chars = '0123456789abcdefghijklmnopqrtsuvwxyz_-'
n = args.num_files
min_length = args.min
max_length = args.max
def generate_filename(chars, minlength, maxlength):
k = random.randint(minlength, maxlength)
return ''.join(random.choices(chars, k=k))
for i in range(n):
filename = generate_filename(chars, min_length, max_length) + '_.csv'
Path(filename).touch()
if __name__ == '__main__':
ret = main()
if ret:
sys.exit(ret)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment