python - 如何定义模块的导入?
问题描述
我有一个这样的目录结构:
└── stuff
├── __init__.py
└── substuff
├── imp.py
└── __init__.py
stuff/__init__.py
如下所示:
from stuff.substuff.imp import foo, bar
像这样stuff/substuff/__init__.py
:
from stuff.substuff.imp import foo, bar
__all__ = [
'foo',
'bar'
]
stuff/substuff/imp.py
包含
import pandas as pd
import numpy as np
__all__ = ['foo', 'bar']
def foo():
return {'foo': np.sqrt(2)}
def bar():
return ('bar', 'xyz')
def _helper():
return True
如果我现在这样做
from stuff.substuff import imp
并检查可用于 的内容imp
,我看到bar
, foo
,还有pd
和np
。
我怎样才能实现用户只看到bar
andfoo
而不是pd
and np
?一种解决方案似乎是将它们导入为_pd
and _np
,但我想知道是否有比这更“漂亮”的解决方案。
解决方案
推荐阅读
- sql - 在 SP_OAMETHOD 中发送 json 值
- c++ - 在 C++ 中构建内存分配和指向游戏对象的指针
- android - 由于 INSTALL_PARSE_FAILED_NO_CERTIFICATES,签名后无法在模拟器中运行应用程序
- wordpress - 你好!我在将产品添加到购物车时遇到了托管平台的问题
- python - 匹配最小可能的句子
- android - JUnit 日志消息出现在 Firebase 测试实验室目录中?
- c++ - 当“失败是由在其生命周期之外读取变量引起的”时如何使 Consexpr 函数
- keycloak - 大写姓名ID
- r - 分面网格(分页)条形图中的可变数据点数:不要拉伸并留下间隙
- java - 将 4 sum 问题从非递归转换为递归函数