gpt4 book ai didi

python - 获取模块的导入名称

转载 作者:行者123 更新时间:2023-12-02 18:57:43 28 4
gpt4 key购买 nike

我有以下内容:

import numpy as np
v = np.ndarray([1,2,3,4,5])

我有兴趣检查 v 并以某种方式恢复它的类型 np.ndarray

什么不起作用:

  1. type(v).__name__ 给出不带 npndarray
  2. type(v).__qualname__ 给出不带 npndarray
  3. type(v).__module__ 给出 numpy 而不是 np

如何取回np.ndarray

最佳答案

一种方法是在 globals() 中查找模块使用的别名。

def name_of(x):
t = type(x)
alias = next(
k
for k, v in globals().items()
if hasattr(v, "__name__") and v.__name__ == t.__module__
)
return f"{alias}.{t.__name__}"

使用示例:

>>> import numpy as np
>>> name_of(np.array([]))
'np.ndarray'

此外,由于字典迭代是按插入顺序进行的,因此这将返回首先声明的别名。

关于python - 获取模块的导入名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65965512/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com