https://docs.python.org/3/library/index.html
Built-in Functions
Built-in Constants
Built-in Types
Built-in Exceptions
Text Processing Services 文本处理
string
re
difflib
textwrap
unicodedata
stringprep
readline
rlcompleter
Binary Data Services 进制
struct
codecs
Data Types
datetime — Basic date and time types
calendar — General calendar-related functions
collections — Container datatypes
collections.abc — Abstract Base Classes for Containers
heapq — Heap queue algorithm
bisect — Array bisection algorithm
array — Efficient arrays of numeric values
weakref — Weak references
types — Dynamic type creation and names for built-in types
copy — Shallow and deep copy operations
pprint — Data pretty printer
reprlib — Alternate repr() implementation
enum — Support for enumerations
Numeric and Mathematical Modules 数学计算
numbers — Numeric abstract base classes
math — Mathematical functions
cmath — Mathematical functions for complex numbers
decimal — Decimal fixed point and floating point arithmetic
fractions — Rational numbers
random — Generate pseudo-random numbers
statistics — Mathematical statistics functions
Functional Programming Modules
itertools — Functions creating iterators for efficient looping
functools — Higher-order functions and operations on callable objects
operator — Standard operators as functions
File and Directory Access 文件与目录访问
pathlib — Object-oriented filesystem paths
os.path — Common pathname manipulations
fileinput — Iterate over lines from multiple input streams
stat — Interpreting stat() results
filecmp — File and Directory Comparisons
tempfile — Generate temporary files and directories
glob — Unix style pathname pattern expansion
fnmatch — Unix filename pattern matching
linecache — Random access to text lines
shutil — High-level file operations
macpath — Mac OS 9 path manipulation functions
Data Persistence 数据持久存储
pickle — Python object serialization
copyreg — Register pickle support functions
shelve — Python object persistence
marshal — Internal Python object serialization
dbm — Interfaces to Unix “databases”
sqlite3 — DB-API 2.0 interface for SQLite databases
Data Compression and Archiving 数据压缩与归档
zlib — Compression compatible with gzip
gzip — Support for gzip files
bz2 — Support for bzip2 compression
lzma — Compression using the LZMA algorithm
zipfile — Work with ZIP archives
tarfile — Read and write tar archive files
File Formats 文件格式
csv — CSV File Reading and Writing
configparser — Configuration file parser
netrc — netrc file processing
xdrlib — Encode and decode XDR data
plistlib — Generate and parse Mac OS X .plist files
15. Cryptographic Services 加密
hashlib — Secure hashes and message digests
hmac — Keyed-Hashing for Message Authentication
secrets — Generate secure random numbers for managing secrets
Generic Operating System Services 常规系统操作
os — Miscellaneous operating system interfaces
io — Core tools for working with streams
time — Time access and conversions
argparse — Parser for command-line options, arguments and sub-commands
getopt — C-style parser for command line options
logging — Logging facility for Python
logging.config — Logging configuration
logging.handlers — Logging handlers
getpass — Portable password input
curses — Terminal handling for character-cell displays
curses.textpad — Text input widget for curses programs
curses.ascii — Utilities for ASCII characters
curses.panel — A panel stack extension for curses
platform — Access to underlying platform’s identifying data
errno — Standard errno system symbols
ctypes — A foreign function library for Python
Concurrent Execution 并发
threading — Thread-based parallelism
multiprocessing — Process-based parallelism
The concurrent package
concurrent.futures — Launching parallel tasks
subprocess — Subprocess management
sched — Event scheduler
queue — A synchronized queue class
dummy_threading — Drop-in replacement for the threading module
_thread — Low-level threading API
_dummy_thread — Drop-in replacement for the _thread module
Interprocess Communication and Networking 进程通信和网络
socket — Low-level networking interface
ssl — TLS/SSL wrapper for socket objects
select — Waiting for I/O completion
selectors — High-level I/O multiplexing
asyncio — Asynchronous I/O, event loop, coroutines and tasks
asyncore — Asynchronous socket handler
asynchat — Asynchronous socket command/response handler
signal — Set handlers for asynchronous events
mmap — Memory-mapped file support
Internet Data Handling Internet数据处理
email — An email and MIME handling package
json — JSON encoder and decoder
mailcap — Mailcap file handling
mailbox — Manipulate mailboxes in various formats
mimetypes — Map filenames to MIME types
base64 — Base16, Base32, Base64, Base85 Data Encodings
binhex — Encode and decode binhex4 files
binascii — Convert between binary and ASCII
quopri — Encode and decode MIME quoted-printable data
uu — Encode and decode uuencode files
Structured Markup Processing Tools 标记处理
html — HyperText Markup Language support
html.parser — Simple HTML and XHTML parser
html.entities — Definitions of HTML general entities
XML Processing Modules
xml.etree.ElementTree — The ElementTree XML API
xml.dom — The Document Object Model API
xml.dom.minidom — Minimal DOM implementation
xml.dom.pulldom — Support for building partial DOM trees
xml.sax — Support for SAX2 parsers
xml.sax.handler — Base classes for SAX handlers
xml.sax.saxutils — SAX Utilities
xml.sax.xmlreader — Interface for XML parsers
xml.parsers.expat — Fast XML parsing using Expat
Internet Protocols and Support IP支持
webbrowser — Convenient Web-browser controller
cgi — Common Gateway Interface support
cgitb — Traceback manager for CGI scripts
wsgiref — WSGI Utilities and Reference Implementation
urllib — URL handling modules
urllib.request — Extensible library for opening URLs
urllib.response — Response classes used by urllib
urllib.parse — Parse URLs into components
urllib.error — Exception classes raised by urllib.request
urllib.robotparser — Parser for robots.txt
http — HTTP modules
http.client — HTTP protocol client
ftplib — FTP protocol client
poplib — POP3 protocol client
imaplib — IMAP4 protocol client
nntplib — NNTP protocol client
smtplib — SMTP protocol client
smtpd — SMTP Server
telnetlib — Telnet client
uuid — UUID objects according to RFC 4122
socketserver — A framework for network servers
http.server — HTTP servers
http.cookies — HTTP state management
http.cookiejar — Cookie handling for HTTP clients
xmlrpc — XMLRPC server and client modules
xmlrpc.client — XML-RPC client access
xmlrpc.server — Basic XML-RPC servers
ipaddress — IPv4/IPv6 manipulation library
Multimedia Services 多媒体
audioop — Manipulate raw audio data
aifc — Read and write AIFF and AIFC files
sunau — Read and write Sun AU files
wave — Read and write WAV files
chunk — Read IFF chunked data
colorsys — Conversions between color systems
imghdr — Determine the type of an image
sndhdr — Determine type of sound file
ossaudiodev — Access to OSS-compatible audio devices
Internationalization 国际化
gettext — Multilingual internationalization services
locale — Internationalization services
Program Frameworks 程序框架
turtle — Turtle graphics
cmd — Support for line-oriented command interpreters
shlex — Simple lexical analysis
Graphical User Interfaces with Tk GUI
tkinter — Python interface to Tcl/Tk
tkinter.ttk — Tk themed widgets
tkinter.tix — Extension widgets for Tk
tkinter.scrolledtext — Scrolled Text Widget
IDLE
Other Graphical User Interface Packages
Development Tools 开发工具
typing — Support for type hints
pydoc — Documentation generator and online help system
doctest — Test interactive Python examples
unittest — Unit testing framework
unittest.mock — mock object library
unittest.mock — getting started
2to3 - Automated Python 2 to 3 code translation
test — Regression tests package for Python
test.support — Utilities for the Python test suite
Debugging and Profiling 调试与性能
bdb — Debugger framework
faulthandler — Dump the Python traceback
pdb — The Python Debugger
The Python Profilers
timeit — Measure execution time of small code snippets
trace — Trace or track Python statement execution
tracemalloc — Trace memory allocations
Software Packaging and Distribution 软件发布
distutils — Building and installing Python modules
ensurepip — Bootstrapping the pip installer
venv — Creation of virtual environments
zipapp — Manage executable python zip archives
Python Runtime Services 环境
sys — System-specific parameters and functions
sysconfig — Provide access to Python’s configuration information
builtins — Built-in objects
__main__ — Top-level script environment
warnings — Warning control
contextlib — Utilities for with-statement contexts
abc — Abstract Base Classes
atexit — Exit handlers
traceback — Print or retrieve a stack traceback
__future__ — Future statement definitions
gc — Garbage Collector interface
inspect — Inspect live objects
site — Site-specific configuration hook
fpectl — Floating point exception control
Custom Python Interpreters 定制Python解释器
code — Interpreter base classes
codeop — Compile Python code
Importing Modules 导入模块
zipimport — Import modules from Zip archives
pkgutil — Package extension utility
modulefinder — Find modules used by a script
runpy — Locating and executing Python modules
importlib — The implementation of import
Python Language Services 语法
parser — Access Python parse trees
ast — Abstract Syntax Trees
symtable — Access to the compiler’s symbol tables
symbol — Constants used with Python parse trees
token — Constants used with Python parse trees
keyword — Testing for Python keywords
tokenize — Tokenizer for Python source
tabnanny — Detection of ambiguous indentation
pyclbr — Python class browser support
py_compile — Compile Python source files
compileall — Byte-compile Python libraries
dis — Disassembler for Python bytecode
pickletools — Tools for pickle developers
Miscellaneous Services 多样性
formatter — Generic output formatting
MS Windows Specific Services
msilib — Read and write Microsoft Installer files
msvcrt — Useful routines from the MS VC++ runtime
winreg — Windows registry access
winsound — Sound-playing interface for Windows
Unix Specific Services
posix — The most common POSIX system calls
pwd — The password database
spwd — The shadow password database
grp — The group database
crypt — Function to check Unix passwords
termios — POSIX style tty control
tty — Terminal control functions
pty — Pseudo-terminal utilities
fcntl — The fcntl and ioctl system calls
pipes — Interface to shell pipelines
resource — Resource usage information
nis — Interface to Sun’s NIS (Yellow Pages)
syslog — Unix syslog library routines
Superseded Modules
optparse — Parser for command line options
imp — Access the import internals
Undocumented Modules
Platform specific modules
calendar
日历
import calendar
print(type(calendar.calendar(2018)))
print(calendar.calendar(2018)) #返回2018年日历
print(calendar.isleap(2000)) #判断某一年是否是闰年
print(calendar.leapdays(1999,2001)) #判断年份之间闰年数量,年份范围[1999,2001)
print(calendar.month(2018,3)) #返回2018年3月日历
print(calendar.monthrange(2018,3))
print(calendar.monthcalendar(2018,3))
calendar.prcal(2018) #直接打印2018年日历
calendar.prmonth(2018, 3) #直接打印2018年3月日历
calendar.weekday(2018, 3, 27) #返回指定日期对应周几
time
时间戳
从1970年1月1日0时0分0秒到现在经过的秒数
不能表示1970之前的时间,或者未来太久远的时间
32位系统只能支持到2038年
最常用来表示当前时间
UTC时间
世界标准时间
中国时间 UTC+8 东八区
夏令时
时间元组
一个包含时间内容的元组
import time
print(type(time.timezone))
print(time.timezone) #返回时区
print(type(time.time()))
print(time.time()) #返回当前时间戳
print(type(time.localtime()))
print(time.localtime()) #localtime()返回当前时间的时间结构
print(type(time.asctime()))
print(time.asctime()) #返回当前时间,字符串
print(type(time.ctime()))
print(time.ctime()) #返回当前时间,字符串
time.sleep(2) #程序睡眠2秒
#help(time.strftime)
print(time.strftime('%Y%m%d%H%M%S', time.localtime()))
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
datetime
import datetime
t1 = datetime.date(2018, 3, 27)
print(type(t1))
print(t1)
print(t1.day)
print(t1.month)
print(t1.year)
timeit
时间测量工具
import timeit
help(timeit.timeit)
c1 = '''
sum = []
for i in range(1000):
sum.append(i)
'''
c2 = '[i for i in range(1000)]'
t1 = timeit.timeit(stmt=c1, number=100000)
t2 = timeit.timeit(stmt=c2, number=100000)
print(t1)
print(t2)