def cut_file(source_file, aim_path, chunk_size):
    """
    this function will take a source file, cut it into pieces with chunk size
    store them to the aim path
    return a list of cut names
    """
    ori_bin = open(source_file, 'rb')
    chunk_list = []
    while True:
        cur_bin = ori_bin.read(chunk_size)
        if not cur_bin:
            break
        chunk_list.append(cur_bin)
    cur_chunk_id = 0
    cut_name_list = []
    for chunk in chunk_list:
        cur_file_name = '{}/{}.part'.format(aim_path, cur_chunk_id)
        cut_name_list.append(cur_file_name)
        f = open(cur_file_name, 'wb')
        f.write(chunk)
        f.close()
        cur_chunk_id += 1
    return cut_name_list