通过哪个函数能查看python文件中引用了哪些包?
from A import B
from AA import BB
如以上代码,我如何在这个脚本中通过函数,返回[B, BB]?
from A import B
from AA import BB
如以上代码,我如何在这个脚本中通过函数,返回[B, BB]?
定義如下的 function:
def find_import():
return {key:value for key, value in globals().items()
if isinstance(value, type(sys)) and not key.startswith('__')}
函數
find_import()
會返回一個字典,以被匯入的包名為 key, 包對象為 value。
測試:
import sys
from os import path
def find_import():
return {key:value for key, value in globals().items()
if isinstance(value, type(sys)) and not key.startswith('__')}
for key, value in find_import().items():
print key, value
結果:
sys <module 'sys' (built-in)>
path <module 'posixpath' from '(your python path)/lib/python2.7/posixpath.pyc'>
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
使用locals可以获取当前的局部变量,也可以用globals。