Форум сайта python.su
0
Добрый день! Пытаюсь реализовать модуль проверки знаний. Пользователю дается задача, он пишет решение, которое отравляется и выполняется на сервере. Вопрос в следующем. Есть исходные данные, которые хранятся в файле. Пример -
a = 5 b = 7
s = a * b p = a + b print s,p
'a = 5\n', 'b = 7', u's = a * b\r\np = a + b\r\nprint s,p'
a = 5 b = 7 s = a * b p = a + b print s,p
Офлайн
0
я не супер питонщик, но как-то так можно:
>>> s = 'a = 5\n', 'b = 7', u's = a * b\r\np = a + b\r\nprint s,p' >>> for x in s: ... exec(x) ... 35 12 >>>
Отредактировано pooteen (Май 16, 2013 17:16:14)
Офлайн
0
Основной вопрос в том как преобразовать строку в нужный вид.
Вот моя функция, которая должна создать решение и выполняет его, если понадобится.
def create_decision(user_decision, conditions): f1 = open('temp_decision.py', 'w') f = open(conditions, 'r+') contents = f.readlines() contents.append(user_decision) f1.write(str(contents)) f1.close() output = [] child_stdin, child_stdout, child_stderr = os.popen3("python temp_decision.py") output = child_stdout.read() return output
Офлайн