import sys def parse_args(argv=None): argv = argv if argv else sys.argv print(argv) args = [arg for arg in argv if not arg.startswith('-')] argv = [arg for arg in argv if arg not in args] # kwargs = {key: value for key, value in value.split('=') if value.startswith('-') and '=' in value} # myDict = { k:v for (k,v) in zip(keys, values)} kwargs = {} print(argv) print(args) print(kwargs) return args, kwargs if __name__ == '__main__': parse_args([ '/home/pat/Git/pargs/pargs.py', 'command', 'positional', '--flag', '--optional=value' ])