Python导入-句点之前的当前包名?

Python导入-句点之前的当前包名?,python,python-import,Python,Python Import,在中,使用以下包结构: yourapplication/__init__.py yourapplication/simple_page.py 现在,在\uuu init.py中,完成了以下导入: 从应用程序.simple\u页面导入simple\u页面 有人能解释一下为什么在之前有你的应用程序吗?我以为你能做到 from.simple\u page导入simple\u page谁能给我解释一下为什么您的应用程序在。有吗 这样做是为了告诉您,yourapplication是项目的基础,您需要从这

在中,使用以下包结构:

yourapplication/__init__.py
yourapplication/simple_page.py
现在,在
\uuu init.py
中,完成了以下导入:

从应用程序.simple\u页面导入simple\u页面


有人能解释一下为什么在
之前有
你的应用程序吗?我以为你能做到


from.simple\u page导入simple\u page

谁能给我解释一下为什么您的应用程序在。有吗

这样做是为了告诉您,yourapplication是项目的基础,您需要从这里开始工作。它使项目路径成为绝对路径,并使您的应用程序成为源目录

但如果不使用此方法,并且使用了相对导入,如从.simple\u page导入simple\u page
,那么如果简单页面文件被删除并重构到不同的文件夹和
\uuuuuu init\uuuu
文件中,那么调试就会变得困难

使用应用程序中的
。simple\u page import simple\u page
这种方式将告诉您项目的完整结构,并且所有导入都是从源目录级别进行的,这使得在以后的阶段很容易重构

总的来说:在一句话中,它只是为了维护、扩展项目


您可以选择相对导入和绝对导入,通过这种方式,您可以了解整个项目结构,在重构期间,如果项目设计发生变化,重构代码需要时间,与之相比,在相对导入重构中花费的时间更少。点表示当前的工作直接,因此在导入语句中的python代码中,程序员在脚本语句之前使用点。在您的情况下,包名是您的应用程序,因此您可以在import语句中使用dot

your应用程序/simple\u page.py
您的应用程序/\uuuu init\uuuuu.py
dot=您的应用程序

from .simple_page import simple_page