Найти - Пользователи
Полная версия: Как из строки убрать ненужные символы
Начало » Python для новичков » Как из строки убрать ненужные символы
1
ahpex
Добрый день! Пытаюсь реализовать модуль проверки знаний. Пользователю дается задача, он пишет решение, которое отравляется и выполняется на сервере. Вопрос в следующем. Есть исходные данные, которые хранятся в файле. Пример -
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
Или подскажите, как иначе это можно реаизовать. Заранее благодарен.
pooteen
я не супер питонщик, но как-то так можно:
>>> 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
>>>
ahpex
Основной вопрос в том как преобразовать строку в нужный вид.
Вот моя функция, которая должна создать решение и выполняет его, если понадобится.
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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB