Python:通过多个文件定义模块

rot*_*ler 6 python python-2.7

假设我有一个名为的python模块mymodule.在我的代码的顶部,我有这个:

import mymodule
reload(mymodule)
Run Code Online (Sandbox Code Playgroud)

我的目录结构在哪里

/dir/mymodule.py
Run Code Online (Sandbox Code Playgroud)

但是,我想mymodule.py分成几个文件,同时仍然被定义为单个模块(即我不想单独导入每个文件 - 我希望能够像以前一样使用我的导入/重新加载).

我知道如何做到这一点的唯一方法如下

/dir/mymodule/
             file1.py
             file2.py
             __init__.py
Run Code Online (Sandbox Code Playgroud)

哪里__init__.py包含

from file1 import *
from file2 import *
Run Code Online (Sandbox Code Playgroud)

这主要是有效的,但我的呼吁reload(mymodule)不再做任何事情,因为它不会重新加载任何名为via*imports的东西.

有什么建议?

the*_*dog 1

我不确定你到底为什么这样做,但我会假设你有你的理由。我认为这有效:

__init__.py:

import file1
reload(file1)
from file1 import *
Run Code Online (Sandbox Code Playgroud)

显然你也可以导入 file2