def _split_args(args):
    try:
        # do not use posix mode, to avoid eating quote characters
        args = shlex.split(args, posix=False)
    except:
        # parse error; let's pass args along rather than crashing
        args = args.split()

    new_args = []
    temp = ''
    for arg in args:
        if arg.startswith('-'):
            new_args.append(arg)

        elif temp:

            arg = temp + ' ' + arg
            try:
                eval(arg)
            except:
                temp = arg
            else:
                new_args.append(arg)
                temp = ''

        elif arg.startswith(('(', '[', '{')) or '(' <= arg:
            try:
                eval(arg)
            except:
                temp = arg
            else:
                new_args.append(arg)

        else:
            new_args.append(arg)

    if temp:
        new_args.append(temp)

    return new_args
dataset/ETHPy150Open Calysto/metakernel/metakernel/magic.py/_split_args/operator `in` -> `<=`