我将把我的python代码的一大块重新组织成一个包。我想这个包将保存在主代码所在的同一个目录中。因此,整个结构如下所示:
project directory
\-mymod
\-__init__.py # totaly empty
\-xsum.py # with xsum function
\-main.py # main program
因为这只是一个例子
#xsum.py
def xsum(a,b):
"just xsum"
return a+b
在里面主.py地址:
#main.py
import mymod
print mymod.xsum.xsum(2,3)
Python返回错误:
Traceback (most recent call last):
File "main.py", line 3, in <module>
print mymod.xsum.xsum(2,3)
AttributeError: 'module' object has no attribute 'xsum'
我尝试将项目目录和/或项目目录/mymod添加到搜索路径,但没用。你知道吗
感谢@doukremt(见上文讨论)我找到了非常简单的解决方案: 在
__init__.py
中插入代码它允许在包名称空间中导入当前包中所有py文件的所有名称。所以用法很简单:
如果希望在不同的名称空间中使用不同的模块名称,请使用
__init__.py
中的下一个代码: 导入系统,操作系统在这种情况下,应指定子模块:
最后,如果您只想导入目录中的几个文件,请列出并导入它们:
相关问题 更多 >
编程相关推荐