1、标准库

python本身安装 - 标准库
标准库: import 库名 可以在官网上找出导入方法

2、第三方库(pypi,可以在这里查询,很多第三放包放在此网站,且有案例方法)

其他人开发好的 - 需要安装到本地环境(pip安装-本地使用)
跟excel交互openpyxl,http通信- requests,ui自动化-selenium、Email…

3、自定义文件导入

  1. 可以导入模块名,也可以导入模块里面的内容(函数/全局变量)<br /> 注意:不能互相导

1)如果相对于project的路径中,有包

 from 包名[.包名.包名]   import 模块名 as  [as 别名]<br />         例如 from day9 import myfunc<br />     导入之后,要使用模块当中的内容,则语法为:模块名.变量/模块名.函数(参数)(如果有别名使用别名,没有则使用模块名)<br />         例如 myfunc.work ()<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12396921/1611462437554-314262ae-949d-4722-b352-5f6a1066907c.png#align=left&display=inline&height=61&margin=%5Bobject%20Object%5D&name=image.png&originHeight=121&originWidth=550&size=11584&status=done&style=none&width=275)<br />   ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12396921/1611462513485-6667115a-d312-4379-b4bc-91e3a20d7ca0.png#align=left&display=inline&height=161&margin=%5Bobject%20Object%5D&name=image.png&originHeight=321&originWidth=953&size=25117&status=done&style=none&width=476.5)

运行结果
image.png

2)如果相对于project的路径中,没有包名

 import 模块名  [as 别名] <br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12396921/1611463142008-9a87e378-beb1-465a-9f99-45b6110ee0a6.png#align=left&display=inline&height=124&margin=%5Bobject%20Object%5D&name=image.png&originHeight=249&originWidth=736&size=17257&status=done&style=none&width=368)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12396921/1611463247468-e384d561-ad15-43d4-8d87-6a54745da82a.png#align=left&display=inline&height=293&margin=%5Bobject%20Object%5D&name=image.png&originHeight=586&originWidth=1682&size=85333&status=done&style=none&width=841)

3)如果导入模块当中的内容(函数/全局变量/类)

 如果相对于project的路径中,有包<br />     from 包名[.包名.包名].模块名 import 函数/全局变量/类 [as 别名]<br />         例如 from day9.myfunc import work,money,直接加函数/全局变量/类<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12396921/1611474586036-db3f1179-1891-4cc9-9194-b453b6b3e412.png#align=left&display=inline&height=309&margin=%5Bobject%20Object%5D&name=image.png&originHeight=618&originWidth=1192&size=78559&status=done&style=none&width=596)

4)额外提醒:

  同级目录下的文件,可以直接导入<br />      例如:import myfunc  这种使用语法没有错误,是pycharm做了处理

4、找导入文件的顺序和地方(sys模块,sys.path)

1)执行文件当前的目录

2)当前工程目录(是pycharm添加进去的)

3)python跟目录下的lib目录

4)python跟目录下的lib/site-packages(要通过pip命令安装)

pep8 规则 - 导包顺序
标准库、第三方库、自定义库

5、自测

if name==‘main__’:
#测试代码
#当我们运行当前文件的时候,就会进入这里。
#当前文件被其他模块导入时,此处的代码不被执行

_file:文件名(pychram直接运行是的路径)
name
:所在模块(文件)的模块名
(如果文件是程序启动的文件,那么值为main)

6、init文件

可以缩短导包的路径

7、路径处理

python里面的OS模块有很多方法让我们通过代码实现创建,删除和更改目录。
os.path.dirname 和 os.path.join
image.png

1)移植性:

路径可能找不到 把代码仍导其他电脑上
跨平台不友好 window Linux 路径表达

2)相对路径 - 代码里面不出现绝对路径

3)动态获取当前文件的绝对路径 - os.path.abspath(file)

(file)代表当前文件

import os
filefullpath = os.path.abspath(_file)
print(file_full_path)
image.png_

4)动态获取所给目录/文件 ,所在的目录 os.path.dirname(文件/目录)(得到文件/目录路径的上一级)

image.png

5)动态拼接路径(根据操作系统处理路径拼接符 - win \ linux /)

os.path.join(顶级目录,要追加在顶级目录之后的目录/文件)
image.png