案件就是这样,我有一个包dir:
<input> cannot appear as a child of <tr>
pkg
|_____ __init__.py
|_____ foo.py
中的代码:
__init__.py
现在我想在param = 1
def get_param():
return param
from .foo import *
中调用来自__init__.py
的参数,所以我的代码是这样的:
foo.py
但是,您可以发现我两次致电import pkg
new_param = pkg.get_param()
。
我可以在foo.py
中调用来自__init__.py
的参数的其他方法是什么?这意味着foo.py
就像包中的全局变量一样? THX!
答案 0 :(得分:0)
请勿在{{1}}
中写下get_param()
需要__init__.py
个文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块。在最简单的情况下,__init__.py
可以只是一个空文件,但它也可以执行包的初始化代码或设置__init__.py
变量,稍后将对此进行描述。
所以__all__
的目标有助于将给定目录视为包,如
__init__.py
它可以帮助你打电话,
pkg
|_____ __init__.py
|_____ foo.py
而是可以将其写入from pkg.foo import *
然后将其称为pkg->param.py