python 如何import 定义在 __init__中的函数

我的文件结构是这样的:

app/
    __init__.py
    a.py

在__init__.py中定义函数

def fun1():
    print('hehe')

在a.py中import,下边的都失败了

from . import fun1
from ..app import fun1

成功的方式有一点粗暴

from .__init__ import fun1

不过没见过这样import的,在网上搜的都不管用,不知道怎么回事。。。。谢谢啦

阅读 10.1k
4 个回答

__init__.py的作用是为你写的package做初始化工作,通常也可以为空,一般不做具体实现。
所以最佳的做法是把__init__.py中的业务抽出来放在其他文件。

对于你的使用方法,在模块内部,也就只能使用

from .__init__ import fun1

成功import了,不建议这样做,最好还是把代码移除来。

[1] http://stackoverflow.com/ques...

a.py

import sys, os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

from app import func

func()

from . import fun1
采纳我吧

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