Python3 Standard Library Overview
The Python standard library is very large, covering a wide range of components. Using the standard library allows you to easily complete various tasks.
Below are some modules in the Python3 standard library:
-
os module: The os module provides many functions for interacting with the operating system, such as creating, moving, and deleting files and directories, and accessing environment variables.
-
sys module: The sys module provides functions related to the Python interpreter and system, such as interpreter version and path, and information related to stdin, stdout, and stderr.
-
time module: The time module provides functions for handling time, such as getting the current time, formatting dates and times, timing, etc.
-
datetime module: The datetime module provides more advanced date and time handling functions, such as handling time zones, calculating time differences, calculating date differences, etc.
-
random module: The random module provides functions for generating random numbers, such as generating random integers, floats, sequences, etc.
-
math module: The math module provides mathematical functions, such as trigonometric functions, logarithmic functions, exponential functions, constants, etc.
-
re module: The re module provides regular expression processing functions, which can be used for text search, replacement, splitting, etc.
-
json module: The json module provides JSON encoding and decoding functions, which can convert Python objects to JSON format and parse Python objects from JSON format.
-
urllib module: The urllib module provides functions for accessing web pages and handling URLs, including downloading files, sending POST requests, handling cookies, etc.
Operating System Interface
Section titled “Operating System Interface”The os module provides many functions related to the operating system, such as file and directory operations.
Example
Section titled “Example”It is recommended to use the import os style rather than from os import *, to ensure that the os.open() which varies by operating system does not override the built-in function open().
When using large modules like os, the built-in dir() and help() functions are very useful:
For daily file and directory management tasks, the shutil module provides an easy-to-use high-level interface:
File Wildcards
Section titled “File Wildcards”The glob module provides a function for generating file lists from directory wildcard searches:
Example
Section titled “Example”Command Line Arguments
Section titled “Command Line Arguments”Common utility scripts often invoke command line arguments. These command line arguments are stored as a linked list in the argv variable of the sys module. For example, executing “python demo.py one two three” in the command line produces the following output:
Example
Section titled “Example”Error Output Redirection and Program Termination
Section titled “Error Output Redirection and Program Termination”sys also has stdin, stdout, and stderr attributes. Even when stdout is redirected, the latter can be used to display warnings and error messages.
Example
Section titled “Example”Most scripts use sys.exit() for directed termination.
String Regular Matching
Section titled “String Regular Matching”The re module provides regular expression tools for advanced string processing. For complex matching and processing, regular expressions provide concise and optimized solutions:
Example
Section titled “Example”If only simple functionality is needed, you should first consider string methods, as they are very simple, easy to read, and debug:
Mathematics
Section titled “Mathematics”The math module provides access to the underlying C function library for floating-point operations:
Example
Section titled “Example”random provides tools for generating random numbers.
Example
Section titled “Example”Internet Access
Section titled “Internet Access”There are several modules for accessing the internet and handling network communication protocols. The two simplest are urllib.request for handling data received from URLs and smtplib for sending emails:
Example
Section titled “Example”Note that the second example requires a mail server running locally.
Date and Time
Section titled “Date and Time”The datetime module provides both simple and complex methods for date and time handling.
While supporting date and time algorithms, the implementation focuses on more efficient processing and formatted output.
Example
Section titled “Example”The output is:
This module also supports timezone handling:
Data Compression
Section titled “Data Compression”The following modules directly support common data packaging and compression formats: zlib, gzip, bz2, zipfile, and tarfile.
Performance Measurement
Section titled “Performance Measurement”Some users are interested in understanding the performance differences between different methods of solving the same problem. Python provides a measurement tool that provides direct answers to these questions.
For example, using tuple packing and unpacking to swap elements seems more attractive than using the traditional method. timeit proves that modern methods are faster.
Compared to the fine granularity of timeit, the profile and pstats modules provide time measurement tools for larger code blocks.
Testing Modules
Section titled “Testing Modules”One method of developing high-quality software is to develop test code for each function and test frequently during the development process.
The doctest module provides a tool that scans modules and executes tests based on docstrings embedded in the program.
Test construction is as simple as cutting and pasting its output into the docstring.
Through user-provided examples, it strengthens documentation and allows the doctest module to confirm whether the code’s results are consistent with the documentation:
The unittest module is not as easy to use as doctest, but it can provide a more comprehensive set of tests in a separate file:
The above is just a part of the modules in the Python3 standard library. Many more modules can be found in the complete standard library documentation: https://docs.python.org/zh-cn/3/library/index.html