Python 常用库
标准库
内置在python中的工具集,提供更加丰富的对象和函数。
Tip
标准库中的每个模块都是全小写形式。
datetime 模块
获取当前的事件和日期
random 模块
random 生成假随机数字,随机打乱序列并选择随机项
random.sample
从序列或集合中挑选元素,返回一个有 k 个 特异性元素(无放回抽取) 的列表。
python
random.sample(population, k)
- 从数据集中产生一个新的列表,原始数据集保持不变
- 列表是有序的数据集,原始数据集可能为无序的,依照被选择的先后次序排序
- 原始数据集的元素可以非专一性,原始数据集中的每一个元素都是等可能被抽取的
- 若要快速产生整数,可结合
range()函数为对象,即sample(range(num1), k=num2)(⚠️num2 <= num1) - 当
sample的数量比population的数量大时,会引起ValueError
random.randint
函数 random.randint(down_num, up_numn) 接受两个整数,形成一个范围(闭区间),从中随机抽取一个整数
random.choice
函数 random.choice(list) 接受一个列表输入,并从中随机地选择一个项目,从列表中选择任何值的概率是一样的。
os 模块
os 操作系统接口模块 与操作系统交互,如读写文件、操作路径等。
os.markdir(path)创建目录,类似于 shell 命令mkdir。
创建一个名为path的目录(文件夹)os.listdir(path='.')获取目标中的文件名列表,类似于 shell 命令ls。
返回一个列表,其中包含所输入的路径path下所有的文件(条目),按照字母表排序。path默认值为字符串.表示当前目录(而字符串..则表示上一级目录)os.rename(src, dst)移动/更改文件的名称或目录,类似于 shell 命令mv,但 Python 命令需要在src和dst中指定具体的文件名称。
将文件(夹)名从 源名称src重命名为 目标名称dst(在dst中不存在同名的文件)。实际上从操作系统的角度文件名是包括文件所在的整个路径,当src和dst含有完整的路径和文件名时,则修改其中的路径(需要预先创建目录)相当于移动文件。os.getcwd()返回当前目录 working directoryos.chdir(path)改变当前工作目录到path路径
os.path
os.path是os的子模块,用于操纵路径名称。
可自动基于不同系统,使用不同路径规则,如在 Windows 系统中其路径中的目录和文件名之间用 反斜杠\分隔,而反斜杠\正好是 Python 的转义符,使用os.path.join("dir", "file_name")来合成路径名,Python 会自动在反斜杠前都添加转义符,即以\\形式表示 Windows 下的路径。使编写关于系统路径的代码可以在不同的操作系统上运行,即为编写可移植代码。os.path.join("dir", "dir2", "dir3", "file_name")基于不同操作系统选择不同的连接符,合理地拼接一个或多个路径部分。
将字符串附加到一起形成路径名,在 Windows 系统使用\连接字符串,同时在所有的反斜杠前都添加转义符\即最后的形式为为dir\\dir1\\dir2\\dir3\\file_name,在 Mac 或 Linux 系统使用/连接字符串为dir/file_name。注意如果含文件名,需要包括后缀。
第三方库
独立开发者编写了成千上万的第三方库,使用 pip 安装这些库。pip 是在 Python 3 中包含的标准软件包管理器,但并不是唯一的管理器(anaconda 则是专门针对数据科学的软件管理器)
python
pip install package_name
该命令会下载并安装指定的软件包,然后可以用从标准库中导入模块时相同语法导入第三方软件包。
requirements.txt 文件
大型 Python 程序可能依赖于十几个第三方软件包。为了方便分享在 requirements.txt 的文件中列出项目的依赖项。
requirments.txt
txt
beautifulsoup4==4.5.1
bs4==0.0.1
pytz==2016.7
requests==2.11.1
- 该文件的每行包含软件包名称和版本号
- 版本号是可选项,但是通常都会包含(不同版本的库之间可能变化不大,可能截然不同,因此有必要使用程序作者在写程序时用到的库版本)
使用 pip 一次性安装项目的所有依赖项
python
pip install -r requirements.txt
Beautiful Soup
Beautiful Soup 用于解析 HTML 并从中提取信息。适合网页数据抽取。
matplotlib
matplotlib 二维绘制库,会生成达到发布标准的高品质图片,并且采用各种硬拷贝格式和交互式环境。