Python脚本from是路径是从哪开始

在编写Python脚本时,经常会用到from关键字来导入模块或者包。那么from后面的路径是从哪里开始的呢?本文将详细介绍Python脚本中from关键字后路径的起点,并给出相应的代码示例。

Python中的模块和包

在Python中,模块是一个包含了Python代码的文件,而包是一个包含了多个模块的目录。使用import关键字可以导入模块或包,而from关键字后面加上路径可以导入指定模块或包中的内容。

from关键字的路径起点

from关键字后面的路径是从当前模块所在的目录开始的。如果当前模块是主模块(即直接运行的Python脚本),则路径是相对于主模块所在的目录;如果当前模块是被其他模块导入的模块,则路径是相对于导入它的模块所在的目录。

代码示例

主模块示例

假设我们有以下目录结构:

main.py
module/
    __init__.py
    sub_module.py

sub_module.py中定义了一个函数hello()

# sub_module.py

def hello():
    print("Hello from sub_module!")

如果我们在main.py中想要导入sub_module.py中的hello()函数,可以这样写:

# main.py

from module.sub_module import hello

hello()

这里的路径module.sub_module是相对于main.py所在的目录module的路径。

被导入模块示例

接着上面的例子,如果我们有一个helper.py模块,想要导入sub_module.py中的hello()函数,可以这样写:

# helper.py

from .sub_module import hello

hello()

这里的路径.sub_module是相对于helper.py所在的目录module的路径。

旅行图

journey
    title Python脚本from路径之旅

    section 主模块
        main.py --导入--> module.sub_module
    section 被导入模块
        helper.py --导入--> .sub_module

类图

classDiagram
    class module.sub_module{
        hello()
    }
    class helper{
        hello()
    }

结语

通过本文的介绍,我们了解了在Python脚本中使用from关键字时路径的起点是从当前模块所在的目录开始的。无论是主模块还是被导入模块,都可以灵活地使用from关键字导入其他模块或包中的内容。希望本文对您有所帮助,谢谢阅读!