, Уч. :)

аю веб-приложение, которое выполняет некоторую обработку данных, поэтому я часто разбираю строки (из URL или текстового файла) в значения Python.

Я использую функцию, которая является «своего рода» более безопасной версией eval (за исключением того, что если он не может прочитать строку, он остается строкой):

def str_to_value(string):
    for atom in (True, False, None):
        if str(atom) == string:
            return atom
    else:
        try:
            return int(string)
        except ValueError:
            try:
                return float(string)
            except ValueError:
                return string

... однако, это кажется мне очень уродливым. Есть ли более чистый способ сделать это? Я нашелстарая дискуссия Что-то вроде этого, но мне интересно, если нет быстрого и простого способа (например, библиотечная функция, о которой я не знаю, или умная однострочная?).

Ответы на вопрос(1)

Ваш ответ на вопрос