import os import glob import sys import csv args = sys.argv[1:] def getNumberList(_files): number_list = [] for f in _files: name_parent_directory = os.path.basename(os.path.dirname(os.path.abspath(f))) filename = os.path.basename(f) ftitle, text = os.path.splitext(filename) number_list.append([name_parent_directory, ftitle.split(' ')[3]]) return number_list # Get all student number based on submitted files. number_list = getNumberList(args) number_list.sort() # Create a kind of kadai array. How many kadai is imposed today? kind_of_parent_directory = [] for f in args: name_parent_directory = os.path.basename(os.path.dirname(os.path.abspath(f))) kind_of_parent_directory.append(name_parent_directory) # Create unique KADAI name as a list, such as kadai1, kadai2, kind_of_parent_directory = list(set(kind_of_parent_directory)) # Prepare for all result list score_lists = [] titles = [] titles.append("Number") for i in range(len(kind_of_parent_directory)): titles.append(kind_of_parent_directory[i]) score_lists.append(titles) # Be sure to prepare all sutudents number on your class f_csv = open('member.csv', 'r') reader_csv = csv.reader(f_csv, delimiter=",") # Main for r_csv in reader_csv: score_list = [] score_list.append(r_csv[0]) for i in range(len(kind_of_parent_directory)): count_submitted = 0 for nl in number_list: if int(r_csv[0]) == int(nl[1]) and kind_of_parent_directory[i] == nl[0]: score_list.append(1) count_submitted += 1 if count_submitted != 1: score_list.append(0) score_lists.append(score_list) # print result on standart output. for list in score_lists: count = 0 for value in list: if count != len(list) -1: print str(value)+",", else: print str(value) count += 1