如何构建我的 python 小框架
How to structure my little python framework
我编写了一组简单的 python3 文件,用于在 32 位平台上模拟一小组 mongodb 功能。我启动了 PyCharm 并整理了一个如下所示的目录:
minu/
client.py
database.py
collection.py
test_client.py
test_database.py
test_client.py
我的导入很简单。例如,client.py
顶部有以下内容:
from collection import Collection
基本上client有Clientclass,collection有Collectionclass,database有Databaseclass。不太难。
只要我 cd
进入 minu
目录,我就可以启动 python3 解释器并执行以下操作:
>>> from client import Client
>>> c = Client(pathstring='something')
一切正常。我也可以 运行 test_files,它们使用相同类型的导入。
我想将它模块化,这样我就可以将它用于另一个项目,只需将 minu 目录放在我的应用程序的 .py 文件旁边,然后一切正常。但是,当我这样做并且从另一个目录 运行ning python3 时,本地导入不起作用。我在 minu 目录中放置了一个空的 init.py。这样我就可以 import minu
。但是其他人坏了。我尝试使用 from .collection import Collection
(添加点)之类的东西,但后来我不能像以前那样在原始目录中使用 运行 东西了。 simple/right 的方法是什么?
我和 Google 博士一起四处看了看,但是 none 的例子确实很清楚,请随时指出我遗漏的那个
在此文件中 ...minu/__init__.py
导入您希望对外公开的子模块。
如果__init__.py
文件包含以下行,并且client.py
文件有一个变量foo
.
import client
import collection
import database
然后在 minu 目录之上,以下将起作用:
from minu.client import foo
我编写了一组简单的 python3 文件,用于在 32 位平台上模拟一小组 mongodb 功能。我启动了 PyCharm 并整理了一个如下所示的目录:
minu/
client.py
database.py
collection.py
test_client.py
test_database.py
test_client.py
我的导入很简单。例如,client.py
顶部有以下内容:
from collection import Collection
基本上client有Clientclass,collection有Collectionclass,database有Databaseclass。不太难。
只要我 cd
进入 minu
目录,我就可以启动 python3 解释器并执行以下操作:
>>> from client import Client
>>> c = Client(pathstring='something')
一切正常。我也可以 运行 test_files,它们使用相同类型的导入。
我想将它模块化,这样我就可以将它用于另一个项目,只需将 minu 目录放在我的应用程序的 .py 文件旁边,然后一切正常。但是,当我这样做并且从另一个目录 运行ning python3 时,本地导入不起作用。我在 minu 目录中放置了一个空的 init.py。这样我就可以 import minu
。但是其他人坏了。我尝试使用 from .collection import Collection
(添加点)之类的东西,但后来我不能像以前那样在原始目录中使用 运行 东西了。 simple/right 的方法是什么?
我和 Google 博士一起四处看了看,但是 none 的例子确实很清楚,请随时指出我遗漏的那个
在此文件中 ...minu/__init__.py
导入您希望对外公开的子模块。
如果__init__.py
文件包含以下行,并且client.py
文件有一个变量foo
.
import client
import collection
import database
然后在 minu 目录之上,以下将起作用:
from minu.client import foo