lo1chik
@lo1chik
дурачок из нижних интернетов

Как преобразовать string переменную в код python?

типо так:
str = "print(hello world)"
str.do()

может есть какая-то библиотека?
  • Вопрос задан
  • 1571 просмотр
Решения вопроса 1
deepblack
@deepblack Куратор тега Python
eval

x = 1
eval('x+1')

Не надо использовать eval, это зло )

И снова про опасность eval()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Здесь функция str_to_code преобразовывает строку в код (для кода надо создать отдельный файл, здесь codestr.py):
import os
class StrToCode:
    def __init__(self):
        self.file = open('codestr.py', 'w')
    def add_row(self, row):      
        self.file.write(row + '\n')
    def run(self):
        self.file.close()
        os.system("python codestr.py")
def str_to_code(s):
    li = s.split('\n')
    S = StrToCode()
    for i in li:
        S.add_row(i)
    S.run()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы