Как назвать html-файлы, созданные nops_eval, идентификатором students?

#r #r-exams

#r #r-экзамены

Вопрос:

Я знаю, что nops_eval создаются папки с именами, указанными в идентификаторе учащихся, и внутри каждой из этих папок создается HTML-файл (с одинаковым именем для всех учащихся). Я хотел бы иметь HTML-файлы с идентификатором учащихся или именами учащихся. Было бы необходимо иметь папку для каждого студента, только все HTML-файлы в одной папке, возможно ли это? Используемый код:

 eval <- nops_eval(register = "register_df.csv",
          solutions = "solutions.rds",
          scans = "nops_scan.zip",
          language = "pt",
          eval = exams_eval(partial = F, negative = -0.25, rule = "false"),
          dir = "eval",
          interactive = T,
          mark = F)
 

Ответ №1:

Недавно в версии 2.4-0 nops_eval() появилась возможность подключать пользовательские средства записи для результатов оценки. Так что, в принципе, это можно использовать. Однако, если основное внимание уделяется просто переименованию HTML-файлов, я бы, вероятно, просто unzip() ZIP-файл, file.rename() HTML-файлы, а затем file.remove() предыдущие каталоги.

Для меня в Linux это работает:

 f <- unzip("nops_eval.zip")
id <- strsplit(f, "/", fixed = TRUE)
id <- sapply(id, function(x) x[length(x) - 1])
for(i in seq_along(id)) {
  file.rename(f[i], paste0(id[i], ".html"))
  file.remove(id[i])
}
 

Возможно, пути к файлам в f Windows разделены обратной косой чертой, а не косой чертой. Если это так, вам придется заменить "/" на "\" в strsplit() вызове.