У меня есть строка, которая может быть шестнадцатеричным числом с префиксом "0x" или десятичным числом без специального префикса, за исключением, возможно, знака минус. "0x123" находится в базе 16, а "-298" находится в базе 10.
Как преобразовать это в int или long в Python?
Я не хочу использовать eval(), так как это небезопасно и overkill.