Tag: eval

Использование ast и whitelists для обеспечения безопасности eval () в python?

ОК. Я знаю, что эксперты говорили, и вы никогда не должны использовать python eval() на ненадежных данных. Я не умнее, чем остальной мир, и не должен даже пытаться это сделать. Но! Во всяком случае, я собираюсь. Моя основная проблема заключается в том, что я ищу написать небольшую программу калькулятора калькулятора, которая возьмет недоверенный ввод, используя […]

Почему существует предел длины для eval python?

Я не утверждаю, что это будет хорошей идеей, но я обнаружил, что вы можете свернуть Python (отметки 2.7 и 3.2), запустив eval на достаточно большой строке ввода: def kill_python(N): S = '+'.join((str(n) for n in xrange(N))) return eval(S) На моем компьютере S может быть сгенерирован просто отлично, но для значений приблизительно N>74900 Python завершится с […]

Преобразовать строку в список на Python без использования Eval?

У меня есть строка, что-то вроде этого: "[['Cheese', 72], ['Milk', 45], ['Bread', 22]]" . Я хочу преобразовать это в список. Я знаю, что могу использовать eval (string), чтобы получить список, но eval пугает меня из-за его возможной катастрофы (и потому, что я могу получить не-список как действительный вывод). Есть ли еще более безопасный / безопасный […]

интерполирование значений из фрейма данных на основе значения столбца

Предполагая, что у меня есть следующая проблема: import pandas as pd import numpy as np xp = [0.0, 0.5, 1.0] np.random.seed(100) df = pd.DataFrame(np.random.rand(10, 4), columns=['x0', 'y1', 'y2', 'y3']) df x0 y1 y2 y3 0 0.5434 0.2784 0.4245 0.8448 1 0.0047 0.1216 0.6707 0.8259 2 0.1367 0.5751 0.8913 0.2092 3 0.1853 0.1084 0.2197 0.9786 4 […]

Использование exec и eval в Python

Поэтому я понял, что делать, а также compile exec . Но зачем мне их использовать? Я не вижу смысла в сценарии использования. Может ли кто-нибудь дать мне несколько примеров, чтобы я мог лучше понять эту концепцию. Потому что я знаю, что это вся теория.

ast.literal_eval для переменных в python?

Предположим, что у меня есть пример example.py : import VVV = 2 DictionaryNameB = { 'a' : VVV, 'bb' : 'SomethingB', 'c' : False, 'ccc' : None, 'dddd' : 'true', 'eeeee' : 0.123456, 'f' : 2, 'h' : [1,2,3] } Я написал функцию, которая использует ast.literal_eval() : def getDicFromFile(self, dic_name): with open( 'example.py' ) as […]

Eval не работает над многострочной строкой

У меня возникают проблемы с выполнением многострочной строки с помощью функции eval python / code = ''' def main(): print "this is a test" main() ''' eval(code) Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> eval(code) File "<string>", line 3 def main(): ^ SyntaxError: invalid syntax

Преобразовать список позиций произвольной длины в индекс для вложенного списка

Предполагая этот список nestedList = ["a", "b", [1, 2, 3], "c",[4, 5, 6, [100, 200, 300]], "d"] У меня есть функция, которая возвращает список позиций для вложенного списка произвольной глубины. Примеры : [2, 1] -> "2" [5] -> "d" [4, 3, 2] -> "300" Как вы видите, вначале не ясно, сколько уровней гнездования существует. Дополнительная […]

Оценка математического выражения (функции) для большого количества входных значений быстро

Следующие вопросы Оценка математического выражения в строке Анализ выражений в Python Безопасный способ анализа пользовательской математической формулы в Python Оценить математические уравнения от небезопасного ввода пользователем в Python и их соответствующие ответы заставили меня подумать, как я могу разобрать одно математическое выражение (в общих чертах в соответствии с этим ответом https://stackoverflow.com/a/594294/1672565 ), которое дает (более […]

Книга Python – Zelle использует eval (), не так ли?

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: это НЕ об использовании eval (), это о потенциальном качестве (или его отсутствии) книги, в которой она используется и чему ее научили. SO уже имеет бесчисленные потоки об eval () в Python. Рискуя пригласить гнев и downvotes SO, я тем не менее решил задать этот вопрос, на всякий случай. Пожалуйста, несите меня. […]

Python - лучший язык программирования в мире.