首页 > 通过哪个函数能查看python文件中引用了哪些包?

通过哪个函数能查看python文件中引用了哪些包?

通过哪个函数能查看python文件中引用了哪些包?

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'>

import re
import os

for k, v in locals().items():
    if isinstance(v, type(re)) and not k.startswith('__'):
        print k
        
        

使用locals可以获取当前的局部变量,也可以用globals。

【热门文章】
【热门文章】