from subprocess import (check_output,call) import os def split(params): devnull = open(os.devnull, 'w') call(["./split"]+params.split(" "),stdout=devnull) def train(params): devnull = open(os.devnull, 'w') params+=" --iter 1 --cg_prec 1e-4 --ls_prec 1e-10" call(["./ranksvm"]+params.split(" "),stdout=devnull) def cmc(params): devnull = open(os.devnull, 'w') retcode = check_output(["./ranksvm"]+params.split(" ")).decode('ascii').split('\n'); return float(retcode[-2]) def take(fname): f=open(fname,'r') res=f.read().split('\n') f.close() return res def merge(a,b): return a[:-1]+b[1:] def put(fname,a): f=open(fname,'w') for item in a: f.write("%s\n" % item) f.close()