Я вижу ответы, где getattr() используется для некоторого простого вызова метода/функции.Как запустить произвольную строку как команду
Как насчет произвольной строки, например. делая паутину синтаксического анализа здесь:
from bs4 import BeautifulSoup
import urllib
f = urllib.urlopen(link) # link comes from database, e.g. 'http://www.example.com'
soup = BeautifulSoup(f)
text = soup.find(True, 'text').get_text() # Now this is hardcoded
Работает отлично, но как насчет запуска строки синтаксического анализатора, которая поступает из базы данных? Строка может быть как:
soup.find("div", "layout left").find(id=True).get_text()
или очень соответствовать чему угодно, зависит от веб-страницы.
Спасибо, это решение здесь! Должны думать о последствиях, связанных с безопасностью, как вы сказали. – MJo