#! /usr/bin/env python import argparse import math parser = argparse.ArgumentParser(description='Chunk a list of files') parser.add_argument('total_chunks', metavar='', type=float, help='total number of chunks') parser.add_argument('this_chunk', metavar='', type=float, help='Nth chunk to run') parser.add_argument('files', metavar='files', type=str, nargs='+', help='files to sort and chunk') args = parser.parse_args() def main(args): if len(args.files) < args.total_chunks: print(' '.join(args.files)) return chunk_length = int(math.ceil(len(args.files) / args.total_chunks)) chunk = int((args.this_chunk - 1) * chunk_length) print(' '.join(args.files[chunk:chunk + chunk_length])) main(args)