python 导入模块,怎样在调用模块下的函数时不写模块名?

我安装了个包

pip install jqdatasdk

jqdatasdk 这个文件夹下面有个 api.py 文件,里面有个 get_all_securiteis 函数。

from jqdatasdk import *

此时可以直接调用 get_all_securities,无需写 jqdatasdk.get_all_securities

现在我自己写了一个包

tree ana
ana
├── api.py
├── __init__.py

各文件的内容

cat  ana/__init__.py
from .api  import *
__all__=['api']

cat ana/api.py
def get_data():
    print("ok")

我导入包

from ana import *

只可以 ana.get_data() 来调用,如何直接 get_data() 前面不加 ana.就实现调用?

阅读 1.7k
1 个回答

__ini__.py 里,__all__ = ['api', 'get_data']

只有在 __all__ 里的才可以用 import * 的方式导入。

(或者你可以不定义 __all__

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题