1.模块(module)
简单来说,以.py为后缀的文件都可以称之为模块。一个模块就是指python代码的一个文件。
使用模块的好处是提高代码的可维护性,其次是可以避免重复造车轮,当一个模块编写完后,就可以被其他地方引用。通常编写程序时,也会引用其它模块,模块按照来源可以分为python内置模块(built-in)和第三方模块(通过pip install *下载的模块)。
如果想查看某个内置模块或所有的模块的具体信息,例如pydoc模块,可以使用(以下的命令都是基于python已经加入计算机环境变量的基础下进行的)
方法1:使用help(pydoc) 查看具体用法

D:\>python
>>>import pydoc
>>>help(pydoc)

或方法2(查看模块位置)

>>>import pydoc
>>>pydoc.__file__
'D:\\Python\\lib\\pydoc.py'

方法3,在线查看(通过浏览器查看所有模块)
在Windows平台下,进入cmd窗口,然后输入

D:\>python -m pydoc -p 1234
或者
D:\>python3 -m pydoc -p 1234
Server ready at http://localhost:1234/
Server commands: [b]rowser, [q]uit
server>b

说明:

1、-p指定启动的服务的端口号,可以随意指定不冲突的端口号

2、只有在自建的工程根目录下使用该命令,才能看到当前工程下所有的内容,否则只能看到python环境变量下的模块内容

结果如下:

python的包和模块的区别 python 库,包,模块的区别_windows


2.包(package)

包是一个有层次的文件目录结构。为了组织好模块,将多个模块分为一个包。它定义了由n个模块或n个子包组成的python应用程序执行环境。一般来说,包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包(包体现了模块的结构化管理思想)

controller
 ├── init.py
 ├── checks.py
 └── controller.py
 …
 parse
 ├─__init__.py
 ├── banner.py
 └── cmdline.py
 …

一个包文件一般由__init__.py和其他诸多.py文件构成。该__init__.py内容可以为空,有的会写入一些包执行时的初始化代码。init.py是包的标志性文件,Python通过一个文件夹下是否有__init__.py文件,来识别促文件夹是否为包文件。

sqlmap.py

如果sqlmap.py想要引用controller包中的checks.py模块,那么可以使用语句

from controller import checks

3.库(library)
如果将pytho语言比作一个流行手机的话,那么python库可以理解为专门在该手机上运行而设计的app。
库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
一般在电脑上,可以通过pip list 来查看下载过的库,小陈常用的库一般都是一些数据分析和网络渗透测试的库,例如pandas,jieba,wordcloud,sqlmap等
官方的在线的库查询网址为https://pypi.org/ 如果觉得英语好的,并且觉得官方的库分类不方便的话,可以点击下面的网址https://awesome-python.com/