Python imports - 期间之前的当前包名称?
Python imports - current package name before period?
在flask tutorial中,使用了以下包结构:
yourapplication/__init__.py
yourapplication/simple_page.py
现在,在 __init.py
中,完成以下导入:
from yourapplication.simple_page import simple_page
谁能给我解释一下为什么 .
前面有 yourapplication
吗?我以为你可以做
from .simple_page import simple_page
任何人都可以向我解释为什么 .在那儿?
这样做是为了告诉您您的应用程序是项目的基础,您需要从那里开始工作。它使项目路径成为绝对路径,并将您的应用程序作为源目录。
但是如果不使用这种方法,并且像 from .simple_page import simple_page
这样使用相对导入,那么如果简单的页面文件被删除并重构到不同的文件夹和 __init__
文件中,那么调试就会变得困难。
使用from yourapplication.simple_page import simple_page
这种方式会告诉项目的完整结构,所有导入都是从源目录级别进行的,这使得后期重构很容易。
总的来说:一句话就是为了维护,扩展项目。
你可以相对导入和绝对导入,使用这种方式可以告诉整个项目结构和重构时间,如果项目设计发生变化,重构代码需要时间,相比之下,相对导入重构花费的时间更少
点表示当前工作方向,因此在 python 代码中的 import 语句中,程序员在脚本语句之前使用点。在您的情况下,您的包名称是 yourapplication,因此您可以在 import 语句中使用点。
yourapplication/simple_page.py
yourapplication/__init__.py
dot = yourapplication
from .simple_page import simple_page
在flask tutorial中,使用了以下包结构:
yourapplication/__init__.py
yourapplication/simple_page.py
现在,在 __init.py
中,完成以下导入:
from yourapplication.simple_page import simple_page
谁能给我解释一下为什么 .
前面有 yourapplication
吗?我以为你可以做
from .simple_page import simple_page
任何人都可以向我解释为什么 .在那儿?
这样做是为了告诉您您的应用程序是项目的基础,您需要从那里开始工作。它使项目路径成为绝对路径,并将您的应用程序作为源目录。
但是如果不使用这种方法,并且像 from .simple_page import simple_page
这样使用相对导入,那么如果简单的页面文件被删除并重构到不同的文件夹和 __init__
文件中,那么调试就会变得困难。
使用from yourapplication.simple_page import simple_page
这种方式会告诉项目的完整结构,所有导入都是从源目录级别进行的,这使得后期重构很容易。
总的来说:一句话就是为了维护,扩展项目。
你可以相对导入和绝对导入,使用这种方式可以告诉整个项目结构和重构时间,如果项目设计发生变化,重构代码需要时间,相比之下,相对导入重构花费的时间更少
点表示当前工作方向,因此在 python 代码中的 import 语句中,程序员在脚本语句之前使用点。在您的情况下,您的包名称是 yourapplication,因此您可以在 import 语句中使用点。
yourapplication/simple_page.py
yourapplication/__init__.py
dot = yourapplication
from .simple_page import simple_page