【发布时间】:2020-12-24 23:41:33
【问题描述】:
我正在寻找一种在 Jupiter 笔记本中获取所有导入版本号的方法,我遇到了这个 post。代码运行良好,但是,我想了解代码的 globals() 和 getters() 部分。
到目前为止,我所了解的是 m.name 和 m.version 正在作为一个字符串连接在一起。然后,对于 globals() 中引用所有库的每个 m 正在打印,但是,让我失望的是 if 语句中的内容。 getattr() 返回命名属性的值,因此在这种情况下,它将返回库的名称。我不确定我是否理解正确。("if getattr(m, '__version__', None))" )
# In[1]:
import pandas as pd
import numpy as np
import tensorflow as tf
print('\n'.join(f'{m.__name__} {m.__version__}' for m in globals().values() if getattr(m, '__version__', None)))
输出
pandas 1.1.1
numpy 1.19.1
tensorflow 2.2.0
【问题讨论】:
标签: python python-3.x jupyter-notebook