Python模块导入的路径(摘取至慕课网)

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,它是第三方模块代码的存放路径,在这个路径下,存放的是需要安装的第三方模块。

我本机路径

'',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\Lib\\idlelib',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\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进来。

posted @ 2022-03-06 16:06  EROEG  阅读(482)  评论(0编辑  收藏  举报