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
关键字导入其他模块或包中的内容。希望本文对您有所帮助,谢谢阅读!