小编Mat*_* G.的帖子

如何避免目录(我的模块)在 python 中列出我的模块导入的每个包?

假设我编写了一个名为的 python 模块my_module

# my_module.py

import numpy as np

def my_function():
    print("Hello, module!")
Run Code Online (Sandbox Code Playgroud)

然后我my_module使用内置函数导入并检查它dir()

>>> import my_module
>>> dir(my_module)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'my_function', 'np']
Run Code Online (Sandbox Code Playgroud)

np显示在由 定义的名称列表中my_module。这很烦人,因为我经常想dir()通过my_module. 但是在上面的结果中,我不清楚如何判断它np是本地的my_module还是只是my_module导入的某个包,这(在我看来)混淆了my_module.

所以我的问题是,我如何构建my_module以便只有它定义的函数/类/等出现dir(my_module)?或者等效地,这样dir(my_module)就不会打印出导入的每个模块my_module.py

我想:

  1. 这是可能的,因为dir(other popular packages)通常不会列出他们的每个导入:

    >>> import scipy
    >>> print([x for x in dir(scipy) if …
    Run Code Online (Sandbox Code Playgroud)

python python-import

0
推荐指数
1
解决办法
48
查看次数

标签 统计

python ×1

python-import ×1