Si en mi script escribo lo siguiente, obtengo el resultado correcto.

test = 'int'
print(getattr(__builtins__, test))
#<class 'int'>

Sin embargo, si creo otro script llamado builtin.py que contiene el mismo e intento importarlo, la función no funciona.

import builtin as b

AttributeError: el objeto 'dict' no tiene atributo 'int'

1
HonzaB 15 feb. 2018 a las 10:26

2 respuestas

La mejor respuesta

Enmarcarlo en el método principal Funcionará: -

if __name__ =="__main__":
    test = 'int'
    print(getattr(__builtins__, test))
2
Narendra 15 feb. 2018 a las 10:04

Esto es lo que me resolvió:

import builtins

test = 'int'
print(getattr(builtins, test))
0
HonzaB 19 feb. 2018 a las 07:30