Simple implementation where joblist is expected to be a list of integers (job ids). The full grammar for this command allows more granular control.

def cj(job_ids):
        '''Simple implementation where joblist is expected to be a list of integers (job ids). The full grammar for this command allows more granular control.''' 
        for job_id in job_ids:
            job_id_types = set(map(type, job_ids))
            assert(len(job_id_types) == 1 and type(1) == job_id_types.pop())
            args = shlex.split('qmod -cj {0}'.format(job_id))
            subprocess.call(args, shell=False)