为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Python模块导入的路径,Python3 进阶教程(新版)教程-慕课网
章节
课签
笔记
占位
占位

Python模块导入的路径

导入官方模块的时候,不需要考虑路径问题,这是因为在搜索模块的时候,会默认包含官方模块的路径,所以导入官方模块不需要考虑路径的问题。
如果需要导入自定义模块,则需要了解Python导入模块搜索的路径。
通过sys模块,可以知道导入模块的路径。

>>> import sys
>>> sys.path
['', '/data/miniconda3/lib/python3.8', '/data/miniconda3/lib/python3.8/site-packages']

它返回的是一个列表,表示的是在搜索Python模块时,会搜索的路径,在示例中,返回了四个路径。我们分析一些关键路径:
第一个路径是
'',它是一个空字符串,表达的是当前路径的意思。
第二个路径是
/data/miniconda3/lib/python3.8,它是Python默认模块的存放的路径,在这个路径下,可以发现有os、sys等模块的代码。
第三个路径是
/data/miniconda3/lib/python3.8/site-packages,它是第三方模块代码的存放路径,在这个路径下,存放的是需要安装的第三方模块。

那如何使用我们前面定义的tools.py模块呢?
我们在tools.py同级目录,创建main.py文件:

# main.py

import tools # 导入模块

tools.say_hello() # 调用模块里面的say_hello()函数
tools.say_goodbye() # 调用模块里面的say_goodbye()函数

就可以运行了。
因为在搜索包的路径时,会搜索当前路径(上述:sys.path结果的第一项),因此在同一个目录内的tools.py模块,可以被搜索到,所以能够import进来。

任务

Python的sys.path返回的是一个路径列表,因此可以操作列表里面的元素,请通过sys.path增加路径'../',使得在运行时,可以导入当前目录上级目录的包。

?不会了怎么办

参考答案:

import sys
sys.path.append('../')
||

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

举报

0/150
提交
取消