Python 基础学习与常用模块
文章平均质量分 71
Python 基础学习与常用模块
谢TS
持续写了十几年代码,未来也将继续不停写代码的老程序员,后端工程师。
展开
-
Python 基础学习与常用模块(总目录)
Python 基础与常用模块(总目录)原创 2020-10-24 21:47:09 · 1711 阅读 · 0 评论 -
Python 脚本文件中的 main() 函数 与 if __name__ == “__main__“
像类似 Python 这样的解释型编程语言,程序代码是逐行解释运行的,不需要 main() 函数,也不强制使用函数来组织程序。当使用 Python 写一个项目时,为了规范化程序结构,往往也会在作为程序入口的主脚本文件中自定义一个 main() 函数作为主函数,然后再在脚本文件末尾调用该函数。原创 2023-06-27 00:09:39 · 827 阅读 · 0 评论 -
Python3: 控制台显示进度条 tqdm 模块
tqdm 模块可以在控制台显示一个进度条。原创 2021-06-05 21:47:39 · 1473 阅读 · 0 评论 -
Python3: CSV 表格文件的解析与读写
CSV (Comma Separated Values),逗号分隔值 文件格式,其文件以纯文本的形式存储表格数据(数字和文本)。CSV 一般以换行符分隔每行数据,每行数据以逗号分隔多个字段值。原创 2021-06-05 20:17:48 · 3314 阅读 · 0 评论 -
Python3: ini 配置文件解析器 ConfigParser
ConfigParser 配置文件解析器。此模块用于处理类似于 Windows 的 .ini 配置文件。配置文件中有多个节(section),每个节下可以存储多个 name=value 的字段(option)。原创 2021-06-05 20:17:32 · 698 阅读 · 0 评论 -
Python3: 用 uuid 模块生成 UUID 通用唯一标识符
UUID(Universally Unique Identifier),通用唯一标识符。uuid 模块用于生成通用唯一标识符。原创 2021-06-05 20:17:06 · 1320 阅读 · 0 评论 -
Python3: RSA 非对称加密 - 秘钥对生成,加密/解密,签名/验签
1. pycryptodome/Crypto 模块pycryptodome模块文档: https://pycryptodome.readthedocs.io/en/latest/使用第三方模块pycryptodome中的Crypto.PublicKey.RSA实现 RSA 秘钥对生成、加密/解密、签名/验签。安装pycryptodome模块:pip3 install p原创 2021-04-12 01:09:15 · 6696 阅读 · 0 评论 -
Python3: AES 对称加密
pycryptodome模块文档: https://pycryptodome.readthedocs.io/en/latest/Python 的 AES 加密/解密使用第三方模块pycryptodome, 安装模块:pip3 install pycryptodomepycryptodome模块的 AES 加密的密钥和明文的字节长度均必须为 16 的倍数,如果不足 16原创 2021-04-12 01:08:37 · 553 阅读 · 0 评论 -
Python3: MD5/SHA-1 等数据 Hash,Base64 编码
hashlib模块 - 安全哈希与消息摘要: hashlib — Secure hashes and message digestsbase64模块 - 数据编码: base64 — Base16, Base32, Base64, Base85 Data EncodingsMD5、SHA1、SHA256 等 Hash 摘要算法:import原创 2021-04-12 01:07:33 · 432 阅读 · 0 评论 -
Python3: mysql-connector 和 pymysql 模块 - MySQL 数据库操作
Python 连接 MySQL 数据库,可以使用 `mysql-connector` 或 `PyMySQL` 模块,使用其中一个即可。1. mysql-connector1.1 安装 mysql-connector 驱动,连接数据库mysql-connector模块是 MySQL 官方提供的连接器,使用 pip 安装模块:$ python3 -m pip install mysql-connector也可以从 MySQL 官网下载安装: https://www.mysql.com/cn/produ原创 2021-04-12 01:06:23 · 5467 阅读 · 0 评论 -
Python3: sqlite3 模块 - SQLite3 数据库操作
sqlite3 模块: sqlite3 — DB-API 2.0 interface for SQLite databases1. 主要对象sqlite3 模块主要对象:数据库连接对象: sqlite3.Connection游标对象: sqlite3.Cursor使用sqlite3模块,先创建Connection数据库连接对象,再创建原创 2021-04-11 00:23:24 · 1751 阅读 · 0 评论 -
Python3: XML 的 SAX 和 DOM 解析
常用的 XML 解析有 SAX 和 DOM 两种解析方式(还有 PULL 方式)。SAX 解析以事件驱动方式一边读取一边解析 XML 文档,DOM 则将整个 XML 文档读取到内存中形成一颗 DOM 树后再进行操作。Python 标准库中包含了 XML 的 SAX 和 DOM 解析。Python Docs:xml.sax — Support for SAX2 pars原创 2021-04-11 00:22:49 · 1051 阅读 · 0 评论 -
Python3: json 模块 - JSON 的编码和解析
Python Docs: json — JSON encoder and decoderjson模块用于对 JSON 的编码和解码。json模块对 JSON 进行编码和解码时,JSON 字符串和 Python 对象之间的转换关系: Decoder-------------------------------------------JSO原创 2021-04-11 00:22:05 · 352 阅读 · 0 评论 -
Python3: Shell 命令调用、执行 Shell 脚本
# 在子 shell 中执行命令(字符串)。该函数是调用标准 C 函数 system() 来实现的,# 因此限制条件与该函数相同。对 sys.stdin 等的更改不会反映在执行命令的环境中。# command 产生的任何输出将被发送到解释器标准输出流。# 返回一个 int 类型的 code,一般返回 0 表示执行成功。# 打开一个管道执行 cmd 命令, 返回值是连接到管道的 文件对象。# 只能和管道单向通讯, 返回值只能是 写入 或 读取 对象。# mode 为 'r', 表示返回的的是 读取原创 2021-04-11 00:20:55 · 14469 阅读 · 0 评论 -
Python3: smtplib 模块 - SMTP 协议发送邮件
Python 邮件发送相关文档:smtplib — SMTP协议客户端: smtplib — SMTP protocol clientemail — 电子邮件与 MIME 处理包: email — An email and MIME handling packageemail.message — 表示一封电子邮件信息: email.message — Represent原创 2021-04-11 00:19:37 · 1012 阅读 · 0 评论 -
Python3: paramiko 模块 - SSH 和 SFTP 客户端
Paramiko 是 Python 的一个模块,实现了 SSH2 协议,用于与远程服务器的安全通讯,支持 密码 和 证书 的安全连接。Paramiko 支持 SSH 客户端 和 SFTP 客户端。Paramiko 模块相关网站:PyPI 项目地址: https://pypi.org/project/paramiko/GitHub 仓库地址: https://githu原创 2021-04-11 00:18:26 · 1193 阅读 · 0 评论 -
Python3: ftplib 模块 - FTP 客户端
FTP 传输协议命令参考:FTP 传输协议 RFC959: https://tools.ietf.org/html/rfc959.htmlFTP 命令: http://www.nsftools.com/tips/RawFTP.htmFTP 命令: https://en.wikipedia.org/wiki/List_of_FTP_commandsFTP 协议客户端原创 2021-04-11 00:17:38 · 1287 阅读 · 1 评论 -
Python3: 支持 WebSocket 客户端/服务端、同步/异步 的多个 Python 模块
Python 有多个支持 WebSocket 客户端、服务端、同步、异步 的第三方相关模块。websocket-client 是 Python 的 WebSocket (同步)客户端,它提供了对 WebSocket 低级 API 的访问。websocket-client 目前版本实现了 WebSocket 协议的 hybi-13 版本,不支持来自 RFC 7692 的 permessage-deflate 扩展。aiohttp 是一个基于 asyncio 异步的 HTTP 客户端 和 服务端,并且支持 We原创 2021-04-11 00:16:55 · 21430 阅读 · 1 评论 -
Python3: 同时支持 HTTP/2、同步、异步的 HTTP 客户端 HTTPX
httpx 模块时 Python 3 的全功能 HTTP 客户端,它提供了 同步 和 asyncio 异步 API,并支持 HTTP/1.1 和 HTTP/2。它建立在 requests 完善的可用性之上,支持 连接和连接池的保持、Cookie 持久性会话、自动内容解码、Basic/Digest 身份认证、HTTP(S) 代理、分段文件上传、分块请求 等一系列功能。httpx 的 API 布局大部分遵循了 requests,但比后者更强大,是用于 Python 的下一代 HTTP 客户端。原创 2021-06-06 23:58:08 · 5128 阅读 · 1 评论 -
Python3: http/https请求模块 - requests 模块
requests模块用于 HTTP 网络请求,在内置模块的基础上进行了高度的封装,从而使 HTTP 网络请求变的更加人性化,比系统自带的urllib模块更加好用。requests支持 Cookie 保持会话、自动响应内容编码、自动解码 gzip 和 deflate 等多种功能。requests相关文档:github源码仓库: https://github.com/psf/原创 2021-04-11 00:15:56 · 7201 阅读 · 2 评论 -
Python3: 简易的 HTTP 服务器 - http.server
Python 官方文档: http.server — HTTP 服务器http.server模块实现了一个简单的 HTTP 服务器(Web服务器)。http.server模块中主要涉及的几个类:# HTTP 服务器, 主线程中处理请求class http.server.HTTPServer(server_address, RequestHandlerClass)#原创 2021-04-11 00:14:59 · 10347 阅读 · 4 评论 -
Python3: HTTP 请求模块 - http.client 和 urllib.request
0. http 相关模块Python 官网相关文档:http 模块: http — HTTP moduleshttp.client: http.client — HTTP protocol clienthttp.server: http.server — HTTP servershttp.cookies: http.cookies — HTTP state man原创 2021-04-10 00:07:02 · 6131 阅读 · 0 评论 -
Python3: 网络编程 TCP 和 UDP 协议 - socket
1. Socket — 底层网络接口Socket(套接字)底层网络接口: socket — Low-level networking interface1.1 建立连接Socket 构造方法:# 创建一个 socket 对象## family: 套接字地址族, 默认为 socket.AF_INET, # 还有 AF_INET6, AF_UNIX,原创 2021-04-10 00:05:54 · 448 阅读 · 0 评论 -
Python3: 异步 IO - asyncio 协程与任务、流、子进程、队列、同步
Python 异步 I/O 官方文档: Asynchronous I/Oasyncio是用于编写 并发 代码的库,使用 async/await 语法。asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio 往往是构建 IO 密集型和高层级 结构化 网络代码的最佳选择。原创 2021-04-10 00:05:26 · 3680 阅读 · 4 评论 -
Python3: threading 多线程、锁、线程间通信、定时器、queue 队列
Python 官网 并发执行 的文档: Concurrent Execution1. _thread — 简单线程实现Python 官方文档: _thread — Low-level threading API_thread模块提供了操作多个线程的底层接口,多个控制线程共享全局数据空间。提供了简单的锁机制处理同步问题。启动线程的函数:# 启动一个新的线程# func原创 2021-04-10 00:04:48 · 1046 阅读 · 0 评论 -
Python3: 正则表达式 - re 模块
Python官网 正则表达式:re — Regular expression operations1. 正则表达式模块: re正则表达式简单使用示例:import repattern = re.compile("[0-9]+") # 编译正则表达式, 返回 re.Patternprint(pattern.match("12cd"))原创 2021-04-10 00:04:15 · 983 阅读 · 0 评论 -
Python3: 日期时间模块 time、calendar
1. time — 时间模块(时间的访问和转换)Python 官网: time — Time access and conversionstime模块中的常用函数与属性:## 时间戳 与 时间元祖#time.time() # 返回当前时间戳, 单位为秒, 浮点型time.time_ns()原创 2021-04-10 00:03:45 · 496 阅读 · 0 评论 -
Python3: 系统平台模块 os、sys、platform
1. os — 操作系统接口Python 官网介绍: os — Miscellaneous operating system interfacesos模块 系统/进程参数 的部分函数和属性:os.ctermid() # 返回与进程控制终端对应的文件名os.environ #原创 2021-04-10 00:03:06 · 1462 阅读 · 0 评论 -
Python3: 文件压缩解压 zipfile 和 tarfile
Python 官网 数据压缩和存档 的文档介绍: Data Compression and Archiving。Python 内置模块默认支持zlib、gzip、bzip2 和 lzma 数据压缩算法,以及创建 ZIP 和 tar 格式的归档文件。1. zipfile — 使用 ZIP 存档Python 官网 zipfile 模块: zipfile — Work with原创 2021-04-10 00:02:29 · 2200 阅读 · 1 评论 -
Python3: 内存中的 IO 流缓冲区 - StringIO 和 BytesIO
通过 open() 方法可以打开一个基于文件的读写 文本/二进制 IO 流。io 模块也提供了在内存中缓冲读写 文本/二进制 IO 流的 StringIO 和 BytesIO。原创 2021-06-05 01:02:42 · 1716 阅读 · 0 评论 -
Python3: 文件 IO、 open() 函数、文件操作
1. open() 函数Python 官网读写文件介绍:reading-and-writing-filesio — Core tools for working with streamsopen() 函数用于打开一个文件,并返回一个文件对象,最常用的两个参数: open(file, mode='r')open() 方法完整格式:open(file, mode=原创 2021-04-10 00:01:16 · 1540 阅读 · 0 评论 -
Python3: chardet 检测 bytes 的原字符串编码格式
Python 中 Unicode 表示的 str 和 bytes 之间可以基于字符编码格式使用 encode() 和 decode() 方法相互转换。当需要把 bytes 转换为 str 时,如果不知道原字符的编码格式,就无法正确地将字节流转换为字符串。chardet 模块可用于检测(猜测)bytes 的原字符编码格式。原创 2021-06-05 01:02:54 · 1909 阅读 · 0 评论 -
Python3: 字节类型 bytes 和 bytearray
1. bytesPython 官网 bytes: Bytes Objectsbytes 对象是由单个字节构成的 不可变字节序列,该序列的每个元素都为 [0, 255] 区间内的整数。bytes 的构造方法:class bytes([source[, encoding[, errors]]])参数:source 为整数,则返回长度为 source,元素以零值填充的原创 2021-04-10 00:00:14 · 2108 阅读 · 0 评论 -
Python3: 模块 和 包,包管理工具 pip
「模块」官方文档: https://docs.python.org/zh-cn/3/tutorial/modules.html1. 模块一个 Python 脚本文件(后缀名为.py)就是一个模块,可以直接运行,也可以被其他模块导入并使用其中定义的名称(类、方法、变量)。1.1 以脚本的方式运行模块把下面代码保存为文件: demo.py#!/usr/bin/env py原创 2021-04-09 22:56:48 · 655 阅读 · 0 评论 -
Python3: 异常处理 与 with 语句
1. 异常处理使用 try、except 语句处理异常:try: # try 语句块 ... # 其他 Python 代码 a = 1 / 0 # 除数不能为0, 将抛出异常(抛出异常后, try 语句块中剩下的代码不会执行) ...原创 2021-04-09 22:52:58 · 879 阅读 · 0 评论 -
Python3: 装饰器
1. 函数的嵌套与闭包Python 中一切皆对象,函数也是一个对象(函数是可调用对象)。Python 的装饰器(Decorator)通过闭包函数实现,闭包通过函数的嵌套实现。闭包的本质是连接函数内部与外部的桥梁。闭包可以理解为能访问其他函数内部局部变量的(内部)函数。闭包的实现:通过调用一个外部函数fun,在其内部动态创建一个函数对象fun_inner并把引用返回给外部。原创 2021-04-09 22:50:31 · 310 阅读 · 0 评论 -
Python3: 枚举 enum
1. 枚举的定义与使用1.1 枚举定义和定义类一样,枚举使用class关键字定义。枚举元素的类型为枚举类型本身(即每个元素都是枚举类型的实例),每个元素有两个固定属性(name 和 value),name 属性区分不同的枚举元素(即不能重复)。#!/usr/bin/env python3# -*- coding: utf-8 -*-import enum原创 2021-04-09 22:49:29 · 1476 阅读 · 0 评论 -
Python3: 面向对象
1. 类的定义与实例化使用class关键字定义类,类名首字母通常为大写:#! /usr/bin/env python3# -*- coding: utf-8 -*-class 类名: """ 类的注释 """ 属性1 = 值1 属性2 = 值2 def 方法1(self): 方法代码块原创 2021-04-09 22:48:32 · 297 阅读 · 0 评论 -
Python3: 函数
1. 函数的定义与调用使用def关键字定义函数,函数定义格式:# 通常函数代码块前后 空两行 作为函数分隔def 函数名(参数列表): """ 函数体第一行字符串为函数说明(可选) """ 函数体代码块 ... 函数体代码块 # 使用 return 返回值, 如果没有 return 值, 则函数结果默认返回 No原创 2021-04-09 22:47:42 · 299 阅读 · 0 评论 -
Python3: 条件控制、循环语句、迭代器 与 生成器
Python 流程控制官方文档: Control Flow1. 条件控制:if else语法格式:## 单个条件判断: if#if 条件表达式1: 代码块1## if 和 else#if 条件表达式1: 代码块1else: 代码块2## 多个条件判断: if elif else#if 条件表达式1: 代码块1e原创 2021-04-09 22:44:55 · 335 阅读 · 0 评论