如何从名字中获取int(),float(),dict()等callables?例如,我正在尝试将Python值保存到xml并将变量类型存储为字符串.从字符串转换回Python类型时,有没有办法从字符串中获取可调用内容?
通常我会做类似getattr(myobj,'str')的东西,但是没有模块可以用作这些内置转换函数的第一个参数.我也尝试了getattr(object,'str'),但这也不起作用,因为这些函数不是基础'对象'类型的一部分,只是语言的全局变量.
Sve*_*ach 15
通常我会做类似的事情
getattr(myobj, 'str'),但是没有模块可以用作这些内置转换函数的第一个参数.
错了,有:
import __builtin__
my_str = getattr(__builtin__, "str")
Run Code Online (Sandbox Code Playgroud)
(在Python 3.X: import builtins)
你不需要导入任何东西
vars(__builtins__)['dict']
vars(__builtins__)['float']
vars(__builtins__)['int']
Run Code Online (Sandbox Code Playgroud)
等等。
| 归档时间: |
|
| 查看次数: |
5225 次 |
| 最近记录: |