Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python模块导入后为空_Python_Python Import - Fatal编程技术网

python模块导入后为空

python模块导入后为空,python,python-import,Python,Python Import,在尝试以不同方式导入名为rmod2的python模块时,我注意到一些看似奇怪的行为。如果我从rmod2.py文件所在的目录启动python,它可以正常工作。但是,如果我将文件移动到其他模块所在的另一个文件夹中,它将不再像预期的那样工作。 模块/包文件夹是/usr/lib/pymodules/python2.7,它也包含在sys.path中。因此,我创建了文件夹/usr/lib/pymodules/python2.7/rmod2,并在其中放置了一个空的u init_u.py和rmod2.py。如果

在尝试以不同方式导入名为rmod2的python模块时,我注意到一些看似奇怪的行为。如果我从rmod2.py文件所在的目录启动python,它可以正常工作。但是,如果我将文件移动到其他模块所在的另一个文件夹中,它将不再像预期的那样工作。 模块/包文件夹是/usr/lib/pymodules/python2.7,它也包含在sys.path中。因此,我创建了文件夹/usr/lib/pymodules/python2.7/rmod2,并在其中放置了一个空的u init_u.py和rmod2.py。如果我没有_uinit__uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


有人能告诉我发生了什么,以及如何修复它以在导入时实际加载模块内容吗?

您想将模块所在目录的路径添加到您的目录中,或者将
rmod.py
模块直接添加到路径上的目录中(而不是子目录中)

通过将
\uuuu init\uuuu.py
添加到目录中,您将其转换为python包,使其成为可导入的。如果这是您的意图,那么您将
rmod
-模块移动到
rmod
-包中,您可以通过该命名空间导入该模块:

from rmod2 import rmod2

有一次,我碰巧发现一个包的模块不能从包中访问,但当直接导入时,它工作了。包的
\uuu init\uuuuuuuuuy.py中可能缺少
\uuuuuuu all\uuuuuuuuuuu

这不起作用:

导入mypkg obj=mypkg.mymodule.MyClass() 这起到了作用:

import mypkg.mymodule
obj = mypkg.mymodule.MyClass()
将.py文件放在顶级模块目录中似乎已经做到了这一点。谢谢
from rmod2 import rmod2
import mypkg.mymodule
obj = mypkg.mymodule.MyClass()