2021年12月30日 星期四
Pandas 函數
搜尋
Searching for multiple words only shows matches that contain all words.
Pandas 函数
搜尋中...
ast --- 抽象语法树
...n 程序处理 Python 语法的抽象语法树。抽象语法或许会随着 Python 的更新发布而改变;该模块能够帮助理解当前语法在编程层面的样貌。 抽象语法树可通过将 ast.PyCF_ONLY_AST 作为旗标传递给 compile() 内置函数来生成,或是使用此模块中提供的 parse() 辅助函数。返回结果将是一个对象树,,其中的类都继承自 ast.AST。抽象语法树可被内置的 compile() 函数编译为一个 Python 代码对象。 抽象文法 抽象文法目前定义如下...
calendar --- 日历相关函数
calendar --- 日历相关函数 源代码: Lib/calendar.py 这个模块让你可以输出像 Unix cal 那样的日历,它还提供了其它与日历相关的实用函数。 默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。 可以使用 setfirstweekday() 方法设置一周的第一天为星期天 (6) 或者其它任意一天。 使用整数作为指定日期的参数。 更多相关的函数,参见 datetime 和 ti...
cgi --- Common Gateway Interface support
...form.getfirst("user", "").upper() # This way it's safe. for item in form.getlist("item"): do_something(item) 函数 These are useful if you want more control, or if you want to employ some of the algorithms implemented in this module...
cmath --- 关于复数的数学函数
cmath --- 关于复数的数学函数 这一模块提供了一些关于复数的数学函数。 该模块的函数的参数为整数、浮点数或复数。 这些函数的参数也可为一个拥有 __complex__() 或 __float__() 方法的 Python 对象,这些方法分别用于将对象转换为复数和浮点数,这些函数作用于转换后的结果。 備註 在具有对于有符号零的硬件和系统级支持的平台上,涉及支割线的函数在支割线的 两侧 都是连续的:零的符号可用来区别支割线的一侧和另一...
collections --- 容器資料型態
...parents 属性返回一个新的 ChainMap 包含所有的当前实例的映射,除了第一个。这样可以在搜索的时候跳过第一个映射。 使用的场景类似在 nested scopes 嵌套作用域中使用 nonlocal 关键词。用例也可以类比内建函数 super() 。一个 d.parents 的引用等价于 ChainMap(*d.maps[1:]) 。 注意,一个 ChainMap() 的迭代顺序是通过从后往前扫描所有映射来确定的: >>> baseline = {'mus...
concurrent.futures --- 启动并行任务
...323, 1235) print(future.result()) map(func, *iterables, timeout=None, chunksize=1) 类似于 map(func, *iterables) 函数,除了以下两点: iterables 是立即执行而不是延迟执行的; func 是异步执行的,对 func 的多个调用可以并发执行。 如果从原始调用到 Executor.map() 经过 timeout 秒后, __next__()...
copyreg --- 注册配合 pickle 模块使用的函数
copyreg --- 注册配合 pickle 模块使用的函数 源代码: Lib/copyreg.py copyreg 模块提供了可在封存特定对象时使用的一种定义函数方式。 pickle 和 copy 模块会在封存/拷贝特定对象时使用这些函数。 此模块提供了非类对象构造器的相关配置信息。 这样的构造器可以是工厂函数或类实例。 copyreg.constructor(object) 将 object 声明为一个有效的构造器。 如果 obj...
crypt --- Function to check Unix passwords
...available password hashing algorithms, as crypt.METHOD_* objects. This list is sorted from strongest to weakest. 模块函数 The crypt module defines the following functions: crypt.crypt(word, salt=None) word will usually be a user's passwo...
ctypes --- Python 的外部函数库
ctypes --- Python 的外部函数库 ctypes 是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。 ctypes 教程 注意:在本教程中的示例代码使用 doctest 进行过测试,保证其正确运行。由于有些代码在 Linux,Windows 或 Mac OS X 下的表现不同,这些代码会在 doctest 中包含相关的指...
curses.panel --- curses 的面板栈扩展
...curses.panel --- curses 的面板栈扩展 面板是具有添加深度功能的窗口,因此它们可以从上至下堆叠为栈,只有显示每个窗口的可见部分会显示出来。 面板可以在栈中被添加、上移或下移,也可以被移除。 函数 curses.panel 模块定义了以下函数: curses.panel.bottom_panel() 返回面板栈中的底部面板。 curses.panel.new_panel(win) 返回一个面板对象,将其与给定的窗口...
curses --- 终端字符单元显示的处理
...数,一个单字符 Unicode 字符串或者一个单字节的字节字符串。 每当此文档提到 字符串 时,它可以被指定为一个 Unicode 字符串或者一个字节字符串。 備註 从 5.4 版本开始,ncurses 库使用 nl_langinfo 函数来决定如何解释非 ASCII 数据。这意味着你需要在程序中调用 locale.setlocale() 函数,并使用一种系统中可用的编码方法来编码 Unicode 字符串。这个例子使用了系统默认的编码: import locale loc...
dataclasses --- 数据类
dataclasses --- 数据类 源码: Lib/dataclasses.py 这个模块提供了一个装饰器和一些函数,用于自动添加生成的 special method,例如 __init__() 和 __repr__() 到用户定义的类。 它最初描述于 PEP 557 。 在这些生成的方法中使用的成员变量是使用 PEP 526 类型标注来定义的。 例如以下代码: from dataclasses import dataclass @d...
dis --- Python bytecode的反組譯器
...ython 解释器的实现细节。不保证不会在Python版本之间添加、删除或更改字节码。不应考虑将此模块的跨 Python VM 或 Python 版本的使用。 3.6 版更變: 每条指令使用2个字节。以前字节数因指令而异。 示例:给出函数 myfunc(): def myfunc(alist): return len(alist) 可以使用以下命令显示 myfunc() 的反汇编 >>> dis.dis(myfunc) 2 0 LOA...
functools --- 高阶函数和可调用对象上的操作
functools --- 高阶函数和可调用对象上的操作 源代码: Lib/functools.py functools 模块应用于高阶函数,即参数或(和)返回值为其他函数的函数。 通常来说,此模块的功能适用于所有可调用对象。 functools 模块定义了以下函数: @functools.cache(user_function) 简单轻量级未绑定函数缓存。 有时称为 "memoize"。 返回值与 lru_cache(maxsize=...
importlib --- import 的实现
....1 版新加入. 源代码 Lib/importlib/__init__.py 簡介 importlib 包的目的有两个。 第一个目的是在 Python 源代码中提供 import 语句的实现(并且因此而扩展 __import__() 函数)。 这提供了一个可移植到任何 Python 解释器的 import 实现。 相比使用 Python 以外的编程语言实现方式,这一实现更加易于理解。 第二个目的是实现 import 的部分被公开在这个包中,使得用户更容易创建他们自己的自...
inspect --- 检查对象
inspect --- 检查对象 源代码: Lib/inspect.py inspect 模块提供了一些有用的函数帮助获取对象的信息,例如模块、类、方法、函数、回溯、帧对象以及代码对象。例如它可以帮助你检查类的内容,获取某个方法的源代码,取得并格式化某个函数的参数列表,或者获取你需要显示的回溯的详细信息。 该模块提供了4种主要的功能:类型检查、获取源代码、检查类与函数、检查解释器的调用堆栈。 类型和成员 getmembers() 函数获取...
ipaddress --- IPv4/IPv6 操作库
ipaddress --- IPv4/IPv6 操作库 源代码: Lib/ipaddress.py ipaddress 提供了创建、处理和操作 IPv4 和 IPv6 地址和网络的功能。 该模块中的函数和类可以直接处理与IP地址相关的各种任务,包括检查两个主机是否在同一个子网中,遍历某个子网中的所有主机,检查一个字符串是否是一个有效的IP地址或网络定义等等。 这是完整的模块 API 参考—若要查看概述,请见 ipaddress模組介紹....
itertools --- 为高效循环而创建迭代器的函数
itertools --- 为高效循环而创建迭代器的函数 本模块实现一系列 iterator ,这些迭代器受到APL,Haskell和SML的启发。为了适用于Python,它们都被重新写过。 本模块标准化了一个快速、高效利用内存的核心工具集,这些工具本身或组合都很有用。它们一起形成了“迭代器代数”,这使得在纯Python中有可能创建简洁又高效的专用工具。 例如,SML有一个制表工具: tabulate(f),它可产生一个序列 f(0), f...
logging.config --- 日志记录配置
...日志记录配置 源代码: Lib/logging/config.py Important 此页面仅包含参考信息。有关教程,请参阅 基础教程 进阶教程 日志记录操作手册 这一节描述了用于配置 logging 模块的 API。 配置函数 下列函数可配置 logging 模块。 它们位于 logging.config 模块中。 它们的使用是可选的 --- 要配置 logging 模块你可以使用这些函数,也可以通过调用主 API (在 logging 本身定义) 并定义在...
logging --- Python 的日志记录工具
...源代码: Lib/logging/__init__.py Important 此页面仅包含 API 参考信息。教程信息和更多高级用法的讨论,请参阅 基础教程 进阶教程 日志记录操作手册 这个模块为应用与库实现了灵活的事件日志系统的函数与类。 使用标准库提供的 logging API 最主要的好处是,所有的 Python 模块都可能参与日志输出,包括你自己的日志消息和第三方模块的日志消息。 这个模块提供许多强大而灵活的功能。如果你对 logging 不太熟悉的话, 掌...
math --- 数学函数
math --- 数学函数 该模块提供了对C标准定义的数学函数的访问。 这些函数不适用于复数;如果你需要计算复数,请使用 cmath 模块中的同名函数。将支持计算复数的函数区分开的目的,来自于大多数开发者并不愿意像数学家一样需要学习复数的概念。得到一个异常而不是一个复数结果使得开发者能够更早地监测到传递给这些函数的参数中包含复数,进而调查其产生的原因。 该模块提供了以下函数。除非另有明确说明,否则所有返回值均为浮点数。 数论与表示函数...
msvcrt --- 来自 MS VC++ 运行时的有用例程
msvcrt --- 来自 MS VC++ 运行时的有用例程 这些函数提供了对 Windows 平台上一些有用功能的访问。一些更高级别的模块使用这些函数来构建其服务的 Windows 实现。 例如, getpass 模块在实现 getpass() 函数时使用了这些函数。 关于这些函数的更多信息可以在平台 API 文档中找到。 该模块实现了控制台 I/O API 的普通和宽字符变体。普通的 API 只处理ASCII字符,国际化应用受限。应该尽...
nntplib --- NNTP protocol client
.... It is recommended to use over() instead, since it will automatically use the newer OVER command if available. 工具函数 The module also defines the following utility function: nntplib.decode_header(header_str) Decode a header value, un...
operator --- 标准运算符替代函数
operator --- 标准运算符替代函数 源代码: Lib/operator.py operator 模块提供了一套与Python的内置运算符对应的高效率函数。例如,operator.add(x, y) 与表达式 x+y 相同。 许多函数名与特殊方法名相同,只是没有双下划线。为了向后兼容性,也保留了许多包含双下划线的函数。为了表述清楚,建议使用没有双下划线的函数。 函数包含的种类有:对象的比较运算、逻辑运算、数学运算以及序列运算。 对象...
pickle --- Python 对象序列化
...流最常见的做法是将它们写入文件,但它们也可以通过网络发送或存储在数据库中。shelve 模块提供了一个简单的接口,用于在 DBM 类型的数据库文件上封存和解封对象。 模块接口 要序列化某个包含层次结构的对象,只需调用 dumps() 函数即可。同样,要反序列化数据流,可以调用 loads() 函数。但是,如果要对序列化和反序列化加以更多的控制,可以分别创建 Pickler 或 Unpickler 对象。 pickle 模块包含了以下常量: pickle.HIGHES...
random --- 生成伪随机数
random --- 生成伪随机数 源码: Lib/random.py 该模块实现了各种分布的伪随机数生成器。 对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。 在实数轴上,有计算均匀、正态(高斯)、对数正态、负指数、伽马和贝塔分布的函数。 为了生成角度分布,可以使用 von Mises 分布。 几乎所有模块函数都依赖于基本函数 random() ,它在半开...
rlcompleter --- GNU readline 的补全函数
rlcompleter --- GNU readline 的补全函数 源代码: Lib/rlcompleter.py rlcompeleter 通过补全有效的 Python 标识符和关键字定义了一个适用于 readline 模块的补全函数。 当此模块在具有可用的 readline 模块的 Unix 平台被导入, 一个 Completer 实例将被自动创建并且它的 complete() 方法将设置为 readline 的补全器. 示例: >>...
socket --- 底层网络接口
...现代 Unix 系统、Windows、macOS 和其他一些平台上可用。 備註 一些行为可能因平台不同而异,因为调用的是操作系统的套接字API。 这个Python接口是用Python的面向对象风格对Unix系统调用和套接字库接口的直译:函数 socket() 返回一个 套接字对象 ,其方法是对各种套接字系统调用的实现。形参类型一般与C接口相比更高级:例如在Python文件 read() 和 write() 操作中,接收操作的缓冲区分配是自动的,发送操作的缓冲区长度是隐式的...
sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块
...和可用的数据类型。 https://www.w3schools.com/sql/学习 SQL 语法的教程、参考和例子。 PEP 249 - DB-API 2.0 规范PEP 由 Marc-André Lemburg 撰写。 模块函数和常量 sqlite3.version 这个模块的版本号,是一个字符串。不是 SQLite 库的版本号。 sqlite3.version_info 这个模块的版本号,是一个由整数组成的元组。不是 SQLite 库的版本号。...
string --- 常见的字符串操作
...接受一个格式字符串和任意一组位置和关键字参数。 它只是一个调用 vformat() 的包装器。 3.7 版更變: 格式字符串参数现在是 仅限位置参数。 vformat(format_string, args, kwargs) 此函数执行实际的格式化操作。 它被公开为一个单独的函数,用于需要传入一个预定义字母作为参数,而不是使用 *args 和 **kwargs 语法将字典解包为多个单独参数并重打包的情况。 vformat() 完成将格式字符串分解为字符数据和替换字...
struct --- 将字节串解读为打包的二进制数据
...得被打包结构的字节能与相应 C 结构在内存中的布局完全一致。 要处理平台独立的数据格式或省略隐式的填充字节,请使用 standard 大小和对齐而不是 native 大小和对齐:详情参见 字节顺序,大小和对齐方式。 某些 struct 的函数(以及 Struct 的方法)接受一个 buffer 参数。 这将指向实现了 缓冲协议 并提供只读或是可读写缓冲的对象。 用于此目的的最常见类型为 bytes 和 bytearray,但许多其他可被视为字节数组的类型也实现了缓冲协议,因...
subprocess --- 子进程管理
...subprocess 模块如何代替这些模块和功能的相关信息。 也參考 PEP 324 -- 提出 subprocess 模块的 PEP 使用 subprocess 模块 推荐的调用子进程的方式是在任何它支持的用例中使用 run() 函数。对于更进阶的用例,也可以使用底层的 Popen 接口。 run() 函数是在 Python 3.5 被添加的;如果你需要与旧版本保持兼容,查看 较旧的高阶 API 段落。 subprocess.run(args, *, stdin...
sys --- 系统相关的参数和函数
sys --- 系统相关的参数和函数 该模块提供了一些变量和函数。这些变量可能被解释器使用,也可能由解释器提供。这些函数会影响解释器。本模块总是可用的。 sys.abiflags 在POSIX系统上,以标准的 configure 脚本构建的 Python 中,这个变量会包含 PEP 3149 中定义的ABI标签。 3.8 版更變: 默认的 flags 变为了空字符串(用于 pymalloc 的 m 旗标已经移除) 3.2 版新加入...
tempfile --- 生成临时文件和目录
...raryFile、NamedTemporaryFile、TemporaryDirectory 和 SpooledTemporaryFile 是带有自动清理功能的高级接口,可用作上下文管理器。mkstemp() 和 mkdtemp() 是低级函数,使用完毕需手动清理。 所有由用户调用的函数和构造函数都带有参数,这些参数可以设置临时文件和临时目录的路径和名称。该模块生成的文件名包括一串随机字符,在公共的临时目录中,这些字符可以让创建文件更加安全。为了保持向后兼容性,参数的顺序有些...
time --- 时间的访问和转换
time --- 时间的访问和转换 该模块提供了各种与时间相关的函数。相关功能还可以参阅 datetime 和 calendar 模块。 尽管所有平台皆可使用此模块,但模块内的函数并非所有平台都可用。此模块中定义的大多数函数的实现都是调用其所在平台的C语言库的同名函数。因为这些函数的语义可能因平台而异,所以使用时最好查阅对应平台的相关文档。 下面是一些术语和惯例的解释. epoch 是时间开始的点,其值取决于平台。对于Unix, epoc...
tracemalloc --- 跟踪内存分配
...and which suggests we could optimise (by removing the unnecessary call to list, and writing sum(range(...))). API 函数 tracemalloc.clear_traces() Clear traces of memory blocks allocated by Python. See also stop(). tracemalloc.get_...
turtle --- 龜圖學
...”个类: TurtleScreen 类定义图形窗口作为绘图海龟的运动场。它的构造器需要一个 tkinter.Canvas 或 ScrolledCanvas 作为参数。应在 turtle 作为某个程序的一部分的时候使用。 Screen() 函数返回一个 TurtleScreen 子类的单例对象。此函数应在 turtle 作为独立绘图工具时使用。作为一个单例对象,其所属的类是不可被继承的。 TurtleScreen/Screen 的所有方法还存在对应的函数,即作为面向过程的接口...
types --- 动态类型创建和内置类型名称
types --- 动态类型创建和内置类型名称 源代码: Lib/types.py 此模块定义了一些工具函数,用于协助动态创建新的类型。 它还为某些对象类型定义了名称,这些名称由标准 Python 解释器所使用,但并不像内置的 int 或 str 那样对外公开。 最后,它还额外提供了一些类型相关但重要程度不足以作为内置对象的工具类和函数。 动态类型创建 types.new_class(name, bases=(), kwds=None...
typing --- 类型提示支持
typing --- 类型提示支持 3.5 版新加入. 源码: Lib/typing.py 備註 Python 运行时不强制执行函数和变量类型注解,但这些注解可用于类型检查器、IDE、静态检查器等第三方工具。 This module provides runtime support for type hints as specified by PEP 484, PEP 526, PEP 544, PEP 586, PEP 589,...
unittest --- 單元測試框架
...重构。 对用 C 语言写成的模块无论如何都得单独写成一个模块,为什么不保持一致呢? 如果测试策略发生了改变,没有必要修改源代码。 复用已有的测试代码 一些用户希望直接使用 unittest 运行已有的测试代码,而不需要把已有的每个测试函数转化为一个 TestCase 的子类。 因此, unittest 提供 FunctionTestCase 类。这个 TestCase 的子类可用于打包已有的测试函数,并支持设置前置与后置函数。 假定有一个测试函数: def testSo...
winreg --- Windows 注册表访问
winreg --- Windows 注册表访问 这些函数将 Windows 注册表 API 暴露给 Python。为了确保即便程序员忽略了显式关闭句柄,该句柄依然能够正确关闭,它使用了一个 handle 对象 而不是整数来作为注册表句柄。 3.3 版更變: 该模块中的几个函数被用于引发 WindowsError,该异常现在是 OSError 的别名。 函数 该模块提供了下列函数: winreg.CloseKey(hkey) 关闭...
xml.etree.ElementTree --- ElementTree XML API
...() 或直接从字符串中解析: root = ET.fromstring(country_data_as_string) fromstring() 将 XML 从字符串直接解析为 Element ,该元素是已解析树的根元素。 其他解析函数可能会创建一个 ElementTree 。 确切信息请查阅文档。 作为 Element , root 具有标签和属性字典: >>> root.tag 'data' >>> root.attrib {} 还有可以迭代的子节点: >>>...
zoneinfo --- IANA 时区支持
...则会在 tzdata 包中查找匹配。 此行为可通过三种方式来配置: 默认的 TZPATH 未通过其他方式指定时可在 编译时 进行配置。 TZPATH 可使用 环境变量 进行配置。 在 运行时,搜索路径可使用 reset_tzpath() 函数来修改。 编译时配置 默认的 TZPATH 包括一些时区数据库的通用部署位置(Windows 除外,该系统没有时区数据的“通用”位置)。 在 POSIX 系统中,下游分发者和从源码编译 Python 的开发者知道系统时区数据部署位置...
1. 以 C 或 C++ 擴充 Python
...1. 以 C 或 C++ 擴充 Python 如果你会用 C,添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事,可以通过 extension modules 来实现:实现新的内置对象类型;调用 C 的库函数和系统调用。 为了支持扩展,Python API(应用程序编程接口)定义了一系列函数、宏和变量,可以访问 Python 运行时系统的大部分内容。Python 的 API 可以通过在一个 C 源文件中引用 "Python.h" 头文件来使...
6. 表达式
...生成器对象,此对象属于异步迭代器 (参见 异步迭代器)。 3.6 版新加入: 引入了异步生成器表达式。 3.7 版更變: 在 Python 3.7 之前,异步生成器表达式只能在 async def 协和中出现。 从 3.7 开始,任何函数都可以使用异步生成器表达式。 3.8 版更變: yield 和 yield from 在隐式嵌套的作用域中已被禁用。 6.2.9. yield 表达式 yield_atom ::= "(" yield_expre...
8. 复合语句
...行,虽然在某些简单形式下整个复合语句也可能包含于一行之内。 if, while 和 for 语句用来实现传统的控制流程构造。 try 语句为一组语句指定异常处理和/和清理代码,而 with 语句允许在一个代码块周围执行初始化和终结化代码。 函数和类定义在语法上也属于复合语句。 一条复合语句由一个或多个‘子句’组成。 一个子句则包含一个句头和一个‘句体’。 特定复合语句的子句头都处于相同的缩进层级。 每个子句头以一个作为唯一标识的关键字开始并以一个冒号结束。 子句体是由一个子句...
Changelog(更動日誌)
...ient now avoids infinitely reading potential HTTP headers after a 100 Continue status response from the server. 核心与内置函数 bpo-45018: Fixed pickling of range iterators that iterated for over 2**32 times. bpo-45000: A SyntaxError is now rai...
Futures
...Futures 源代码: Lib/asyncio/futures.py, Lib/asyncio/base_futures.py Future 对象用来链接 底层回调式代码 和高层异步/等待式代码。 Future 函数 asyncio.isfuture(obj) 如果 obj 为下面任意对象,返回 True: 一个 asyncio.Future 类的实例, 一个 asyncio.Task 类的实例, 带有 _asyncio_future_bl...
Python 2.6 有什么新变化
...t(75.6564, '.2f') '75.66' 也參考 格式字符串语法格式字段的参考文档。 PEP 3101 - 高级字符串格式PEP 由 Eric V. Smith 撰写并实现 PEP 3105: print 改为函数 The print statement becomes the print() function in Python 3.0. Making print() a function makes it possible to replac...
Python 3.3 有什么新变化
...icter default separation of binary and text data). 也參考 PEP 414 - 显式的Unicode文本PEP 由 Armin Ronacher 撰写 PEP 3155: 类和函数的限定名称 Functions and class objects have a new __qualname__ attribute representing the "path" from the module top-level...
Python 3.5 有什麼新功能
...w is a list of functions which are now retried when interrupted by a signal: open() 和 io.open(); faulthandler 模块的功能 os 函数: fchdir(), fchmod(), fchown(), fdatasync(), fstat(), fstatvfs(), fsync(), ftruncate(), mkfifo(), mknod(), open(), pos...
Python 3.6 有什么新变化
...ct implementation。 这使得字典所使用的内存相对于 Python 3.5 版减少了 20% 到 25%。 类创建的定制过程通过 新协议 得到了简化。 类属性的定义顺序 现在会被保留。 现在 **kwargs 中的元素会与传给函数的关键字参数 保持对应顺序。 添加了 DTrace 和 SystemTap 探测支持 新的 PYTHONMALLOC 环境变量可被用来调试解释器的内存分配和访问错误。 标准库中的重大改进: asyncio 模块获得了许多新特性,显著...
Python 3.7 有什么新变化
...的库模块: contextvars: PEP 567 -- 上下文变量 dataclasses: PEP 557 -- 数据类 importlib.resources 新的内置特性: PEP 553, 新的 breakpoint() 函数。 对 Python 数据模型的改进: PEP 562, 自定义可访问的模块属性。 PEP 560, typing模块和泛型类型的核心支持。 dict 对象会保持插入时的顺序这个特性 正式宣布 成为 Python 语言官方规范的一部...
修飾器 HowTo 指南
...器类 自定义验证器 实际应用 技术教程 摘要 定义与介绍 描述器协议 描述器调用概述 通过实例调用 通过类调用 通过 super 调用 调用逻辑总结 自动名称通知 ORM (对象关系映射)示例 纯 Python 等价实现 属性 函数和方法 方法的种类 静态方法 类方法 成员对象和 __slots__ 描述器 让对象能够自定义属性查找、存储和删除的操作。 本指南主要分为四个部分: “入门” 部分从简单的示例着手,逐步添加特性,从而给出基本的概述。如果你...
內建型態
...。 它们用于添加、移除或重排其成员的方法将原地执行,并不返回特定的项,绝对不会返回多项集实例自身而是返回 None。 有些操作受多种对象类型的支持;特别地,实际上所有对象都可以比较是否相等、检测逻辑值,以及转换为字符串(使用 repr() 函数或略有差异的 str() 函数)。 后一个函数是在对象由 print() 函数输出时被隐式地调用的。 逻辑值检测 任何对象都可以进行逻辑值的检测,以便在 if 或 while 作为条件或是作为下文所述布尔运算的操作数来使用。 一个对象...
函式庫和擴充功能的常見問題
....py (socket.py, regex.py, 等...) 原始檔案 我如何使Python script 執行在Unix ? Python 中有 curses/termcap 包吗? Python 中存在类似 C 的 onexit() 函数的东西吗? 为什么我的信号处理函数不能工作? 一般性的工作 我如何測試Python程式 怎样用 docstring 创建文档? 怎样一次只获取一个按键? 线程相关 程序中怎样使用线程? 我的线程都没有运行,为什么? 如何将任...
函式編程 HOWTO
函式編程 HOWTO 作者 A. M. Kuchling 发布版本 0.32 本文档提供恰当的 Python 函数式编程范例,在函数式编程简单的介绍之后,将简单介绍Python中关于函数式编程的特性如 iterator 和 generator 以及相关库模块如 itertools 和 functools 等。 簡介 本章介绍函数式编程的基本概念。如您仅想学习 Python 语言的特性,可跳过本章直接查看 迭代器. 编程语言支持通过以...
如何使用正規表達式
...le_iterator object at 0x...> >>> for match in iterator: ... print(match.span()) ... (0, 2) (22, 24) (29, 31) 模块级函数 你不必创建模式对象并调用其方法;re 模块还提供了顶级函数 match(),search(),findall(),sub() 等等。 这些函数采用与相应模式方法相同的参数,并将正则字符串作为第一个参数添加,并仍然返回 None 或...
如何排序
...如何排序 作者 Andrew Dalke 和 Raymond Hettinger 发布版本 0.1 Python 列表有一个内置的 list.sort() 方法可以直接修改列表。还有一个 sorted() 内置函数,它会从一个可迭代对象构建一个新的排序列表。 在此文件,我們使用Python進行各種方式排序資料 排序 基本 简单的升序排序非常简单:只需调用 sorted() 函数。它返回一个新的排序后列表: >>> sorted([5, 2,...
字节数组对象
...面的 bytearray 是相同的对象。 类型检查宏 int PyByteArray_Check(PyObject *o) 如果对象 o 是一个 bytearray 对象或者 bytearray 类型的子类型的实例则返回真值。 此函数总是会成功执行。 int PyByteArray_CheckExact(PyObject *o) 如果对象 o 是一个 bytearray 对象但不是 bytearray 类型的子类型的实例则返回真值。 此函数总是会成功执行。...
扩展/嵌入常见问题
扩展/嵌入常见问题 目錄 扩展/嵌入常见问题 可以使用 C 语言创建自己的函数吗? 可以使用 C++ 语言创建自己的函数吗? C很难写,有没有其他选择? 如何在 C 中执行任意 Python 语句? 如何在 C 中对任意 Python 表达式求值? 如何从Python对象中提取C的值? 如何使用Py_BuildValue()创建任意长度的元组? 如何从C调用对象的方法? 如何捕获PyErr_Print()(或打印到stdout / st...
歷史與授權
.../MT/emt.html email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) 套接字 socket 模块使用 getaddrinfo() 和 getnameinfo() 函数,这些函数源代码在WIDE项目(http://www.wide.ad.jp/)的单独源文件中。 Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. All rights rese...
程式開發常見問答集
...or Python 的區域變數和全域變數有什麼規則? 为什么在循环中定义的参数各异的 lambda 都返回相同的结果? 如何跨模块共享全局变量? 导入模块的“最佳实践”是什么? 为什么对象之间会共享默认值? 如何将可选参数或关键字参数从一个函数传递到另一个函数? 形参和实参之间有什么区别? 为什么修改列表 'y' 也会更改列表 'x'? 如何编写带有输出参数的函数(按照引用调用)? 如何在 Python 中创建高阶函数? 如何复制 Python 对象? 如何找到对象的方法或属...
缓冲协议
...adinto() 需要参数内容的写入权限。缓冲区接口使得对象可以选择性地允许或拒绝读写或只读缓冲区的导出。 对于缓冲区接口的使用者而言,有两种方式来获取一个目的对象的缓冲: 使用正确的参数来调用 PyObject_GetBuffer() 函数; 调用 PyArg_ParseTuple() (或其同级对象之一) 并传入 y*, w* or s* 格式代码 中的一个。 在这两种情况下,当不再需要缓冲区时必须调用 PyBuffer_Release() 。如果此操作失败,可能会导...
解析参数并构建值变量
解析参数并构建值变量 在创建你自己的扩展函数和方法时,这些函数是有用的。其它的信息和样例见 扩展和嵌入 Python 解释器 。 这些函数描述的前三个,PyArg_ParseTuple(),PyArg_ParseTupleAndKeywords(),以及 PyArg_Parse(),它们都使用 格式化字符串 来将函数期待的参数告知函数。这些函数都使用相同语法规则的格式化字符串。 解析参数 一个格式化字符串包含 0 或者更多的格式单元。一个格...
设计和历史常见问题
...此不精確? 為何Python字串為不可變動 为什么必须在方法定义和调用中显式使用“self”? 为什么不能在表达式中赋值? 为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现? 为什么 join() 是一个字符串方法而不是列表或元组方法? 异常有多快? 为什么Python中没有switch或case语句? 难道不能在解释器中模拟线程,而非得依赖特定于操作系统的线程实现吗? 為何lambda表示式不能包含...
2to3 - 自動將 Python 2的程式碼轉成 Python 3
...ctests 会被重构。这种模式下不需要文件是合法的 Python 代码。举例来说,reST 文档中类似 doctests 的示例也可以使用这个选项进行重构。 -v 选项可以输出更多转换程序的详细信息。 由于某些 print 语句可被解读为函数调用或是语句,2to3 并不总能读取包含 print 函数的文件。 当 2to3 检测到存在 from __future__ import print_function 编译器指令时,会修改其内部语法将 print() 解读为函数。 这...
None 对象
...None 对象 请注意, None 的 PyTypeObject 不会直接在 Python / C API 中公开。 由于 None 是单例,测试对象标识(在C中使用 == )就足够了。 由于同样的原因,没有 PyNone_Check() 函数。 PyObject *Py_None Python None 对象,表示缺乏值。 这个对象没有方法。 它需要像引用计数一样处理任何其他对象。 Py_RETURN_NONE 正确处理来自C函数内的 Py_None 返回(也就...
__future__ --- Future 语句定义
...。 _Feature 类的实例有两个对应的方法,getOptionalRelease() 和 getMandatoryRelease()。 CompilerFlag 是一个(位)标记,对于动态编译的代码,需要将这个标记作为第四个参数传入内建函数 compile() 中以开启对应的特性。这个标记存储在 _Feature 类实例的 compiler_flag 属性中。 __future__ 中不会删除特性的描述。从 Python 2.1 中首次加入以来,通过这种方式引入了以下特性...
_thread --- 底层多线程 API
...数据空间。为了处理同步问题,也提供了简单的锁机制(也称为 互斥锁 或 二进制信号)。threading 模块基于该模块提供了更易用的高级多线程 API。 3.7 版更變: 这个模块曾经为可选项,但现在总是可用。 这个模块定义了以下常量和函数: exception _thread.error 发生线程相关错误时抛出。 3.3 版更變: 现在是内建异常 RuntimeError 的别名。 _thread.LockType 锁对象的类型。 _thread...
abc --- 抽象基类
...abc.ABCMeta 用于定义抽象基类(ABC)的元类。 使用该元类以创建抽象基类。抽象基类可以像 mix-in 类一样直接被子类继承。你也可以将不相关的具体类(包括内建类)和抽象基类注册为“抽象子类” —— 这些类以及它们的子类会被内建函数 issubclass() 识别为对应的抽象基类的子类,但是该抽象基类不会出现在其 MRO(Method Resolution Order,方法解析顺序)中,抽象基类中实现的方法也不可调用(即使通过 super() 调用也不行)。1 使...
aifc --- 读写 AIFF 和 AIFC 文件
...如,CD 质量的音频采样大小为 2 字节(16位),使用 2 个声道(立体声),且帧速率为 44,100 帧/秒。这表示帧大小为 4 字节 (2*2),一秒钟占用 2*2*44100 字节(176,400 字节)。 aifc 模块定义了以下函数: aifc.open(file, mode=None) 打开一个 AIFF 或 AIFF-C 文件并返回一个对象实例,该实例具有下方描述的方法。参数 file 是文件名称字符串或 文件对象。当打开文件用于读取时,mode 必须为...
argparse --- 命令行选项、参数和子命令解析器
...arse_args() 将返回一个具有 integers 和 accumulate 两个属性的对象。integers 属性将是一个包含一个或多个整数的列表,而 accumulate 属性当命令行中指定了 --sum 参数时将是 sum() 函数,否则则是 max() 函数。 解析参数 ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作。在大多数情况下,这意味着一个简单的 Namespac...
asyncore --- 异步套接字处理器
...这两个模块背后的基本思想是创建一个或多个网络 通道 ,类的实例 asyncore.dispatcher 和 asynchat.async_chat 。 创建通道会将它们添加到全局映射中,如果你不为它提供自己的 映射 ,则由 loop() 函数使用。 一旦创建了初始通道,调用 loop() 函数将激活通道服务,该服务将一直持续到最后一个通道(包括在异步服务期间已添加到映射中的任何通道)关闭。 asyncore.loop([timeout[, use_poll[, map[...
atexit --- 退出处理器
atexit --- 退出处理器 atexit 模块定义了清理函数的注册和反注册函数. 被注册的函数会在解释器正常终止时执行. atexit 会按照注册顺序的*逆序*执行; 如果你注册了 A, B 和 C, 那么在解释器终止时会依序执行 C, B, A. 注意: 通过该模块注册的函数, 在程序被未被 Python 捕获的信号杀死时并不会执行, 在检测到 Python 内部致命错误以及调用了 os._exit() 时也不会执行. 3.7 版...
audioop --- 处理原始音频数据
...模块包含针对声音片段的一些有用操作。它操作的声音片段由 8、16、24 或 32 位宽的有符号整型采样值组成,存储在 类字节串对象 中。除非特别说明,否则所有标量项目均为整数。 3.4 版更變: 增加了对 24 位采样的支持。现在,所有函数都接受任何 类字节串对象。而传入字符串会立即导致错误。 本模块提供对 a-LAW、u-LAW 和 Intel/DVI ADPCM 编码的支持。 部分更复杂的操作仅接受 16 位采样,而其他操作始终需要采样大小(以字节为单位)作为该操作...
base64 —— Base16、Base32、Base64、Base85 資料編碼
...base64 —— Base16、Base32、Base64、Base85 資料編碼 源代码: Lib/base64.py 此模块提供了将二进制数据编码为可打印的 ASCII 字符以及将这种编码格式解码回二进制数据的函数。 它为 RFC 4648 所定义的 Base16, Base32 和 Base64 算法及已成为事实标准的 Ascii85 和 Base85 编码格式提供了编码和解码函数。 RFC 4648 中的编码格式适用于编码二进制数据使得它能安...
binascii --- 二进制和 ASCII 码互转
binascii --- 二进制和 ASCII 码互转 binascii 模块包含很多在二进制和二进制表示的各种ASCII码之间转换的方法。 通常情况不会直接使用这些函数,而是使用像 uu , base64 ,或 binhex 这样的封装模块。 为了执行效率高,binascii 模块含有许多用 C 写的低级函数,这些底层函数被一些高级模块所使用。 備註 a2b_* 函数接受只含有 ASCII 码的Unicode 字符串。其他函数只接受...
bisect --- 陣列二分演算法 (Array bisection algorithm)
..., x, lo=0, hi=len(a), *, key=None) 按照已排序顺序将 x 插入到 a 中。 key 指定带有单个参数的 key function,用于从每个输入元素中提取比较键。 默认值为 None (直接比较元素)。 此函数首先会运行 bisect_left() 来定位一个插入点。 然后,它会在 a 上运行 insert() 方法在正确的位置插入 x 以保持排序顺序。 请记住 O(log n) 搜索是由缓慢的 O(n) 抛入步骤主导的。 3.10 版更變...
builtins --- 内建对象
builtins --- 内建对象 该模块提供对Python的所有“内置”标识符的直接访问;例如,builtins.open 是内置函数的全名 open() 。请参阅 內建函式 和 內建常數 的文档。 大多数应用程序通常不会显式访问此模块,但在提供与内置值同名的对象的模块中可能很有用,但其中还需要内置该名称。例如,在一个想要实现 open() 函数的模块中,它包装了内置的 open() ,这个模块可以直接使用: import builtin...
bz2 --- 对 bzip2 压缩算法的支持
...bz2 --- 对 bzip2 压缩算法的支持 源代码: Lib/bz2.py 此模块提供了使用 bzip2 压缩算法压缩和解压数据的一套完整的接口。 bz2 模块包含: 用于读写压缩文件的 open() 函数和 BZ2File 类。 用于增量压缩和解压的 BZ2Compressor 和 BZ2Decompressor 类。 用于一次性压缩和解压的 compress() 和 decompress() 函数。 文件压缩和解压 bz2.o...
cgitb --- 用于 CGI 脚本的回溯管理器
...计用来显示 HTML 格式的 CGI 脚本详细回溯信息。 但后来被一般化为也可显示纯文本格式的回溯信息。) 激活这个模块之后,如果发生了未被捕获的异常,将会显示详细的已格式化的报告。 报告显示内容包括每个层级的源代码摘录,还有当前正在运行的函数的参数和局部变量值,以帮助你调试问题。 你也可以选择将此信息保存至文件而不是将其发送至浏览器。 要启用此特性,只需简单地将此代码添加到你的 CGI 脚本的最顶端: import cgitb cgitb.enable() enable...
code --- 解释器基类
...s.ps2 作为输入提示符,并有输入缓冲。 code.interact(banner=None, readfunc=None, local=None, exitmsg=None) 运行一个 read-eval-print 循环的便捷函数。这会创建一个新的 InteractiveConsole 实例。如果提供了 readfunc ,会设置为 InteractiveConsole.raw_input() 方法。如果提供了 local ,则将其传递给 Interactive...
codecs --- 编解码器注册和相关基类
...,但也提供了一些编解码器可将文本编码为文本,以及字节串编码为字节串。 自定义编解码器可以在任意类型间进行编码和解码,但某些模块特性仅适用于 文本编码 或将数据编码为 字节串 的编解码器。 该模块定义了以下用于使用任何编解码器进行编码和解码的函数: codecs.encode(obj, encoding='utf-8', errors='strict') 使用为 encoding 注册的编解码器对 obj 进行编码。 可以给定 Errors 以设置所需要的错误处理方案。 默...
codeop --- 编译Python代码
...被忽略而不是引发错误。 例如,一个反斜杠加两个换行符之后可以跟随任何无意义的符号。 一旦解析器 API 得到改进将修正这个问题。 class codeop.Compile 这个类的实例具有 __call__() 方法,其签名与内置函数 compile() 相似,区别在于如果该实例编译了包含 __future__ 语句的程序文本,则实例会‘记住’并使用已生效的语句编译所有后续程序文本。 class codeop.CommandCompiler 这个类的实例具有...
collections.abc --- 容器的抽象基类
...collections.abc.Iterable 提供了 __iter__() 方法的抽象基类。 使用 isinstance(obj, Iterable) 可以检测一个类是否已经注册到了 Iterable 或者实现了 __iter__() 函数,但是无法检测这个类是否能够使用 __getitem__() 方法进行迭代。检测一个对象是否是 iterable 的唯一可信赖的方法是调用 iter(obj)。 class collections.abc.Collection...
colorsys --- 颜色系统间的转换
...信息可访问 https://poynton.ca/ColorFAQ.html 和 https://www.cambridgeincolour.com/tutorials/color-spaces.htm。 colorsys 模块定义了如下函数: colorsys.rgb_to_yiq(r, g, b) 把颜色从RGB值转为YIQ值。 colorsys.yiq_to_rgb(y, i, q) 把颜色从YIQ值转为RGB值。 colorsys.rgb_to_...
configparser --- 配置文件解析器
...onfig) >>> list(custom['Section1'].keys()) ['Key'] >>> list(custom['Section2'].keys()) ['AnotherKey'] 備註 optionxform 函数会将选项名称转换为规范形式。 这应该是一个幂等函数:如果名称已经为规范形式,则应不加修改地将其返回。 ConfigParser.SECTCRE 一个已编译正则表达式会被用来解析节标头。 默认将 [section] 匹配到名称...
contextlib --- 为 with语句上下文提供的工具
...extlib --- 为 with语句上下文提供的工具 源代码 Lib/contextlib.py 此模块为涉及 with 语句的常见任务提供了实用的工具。更多信息请参见 上下文管理器类型 和 with 语句上下文管理器。 工具 提供的函数和类: class contextlib.AbstractContextManager 一个为实现了 object.__aenter__() 与 object.__aexit__() 的类提供的 abstract base clas...
contextvars --- 上下文变量
contextvars --- 上下文变量 本模块提供了相关API用于管理、存储和访问上下文相关的状态。 ContextVar 类用于声明 上下文变量 并与其一起使用。函数 copy_context() 和类 Context 用于管理当前上下文和异步框架中。 在多并发环境中,有状态上下文管理器应该使用上下文变量,而不是 threading.local() 来防止他们的状态意外泄露到其他代码。 更多信息参见 PEP 567 。 3.7...
copy --- 浅层 (shallow) 和深层 (deep) 复制操作
...操作通常存在两个问题, 而浅层复制操作并不存在这些问题: 递归对象 (直接或间接包含对自身引用的复合对象) 可能会导致递归循环。 由于深层复制会复制所有内容,因此可能会过多复制(例如本应该在副本之间共享的数据)。 deepcopy() 函数用以下方式避免了这些问题: 保留在当前复制过程中已复制的对象的 "备忘录" (memo) 字典;以及 允许用户定义的类重载复制操作或复制的组件集合。 该模块不复制模块、方法、栈追踪(stack trace)、栈帧(stack fra...
csv --- CSV 文件读写
...er 类以字典的形式读写数据。 也參考 该实现在“Python 增强提议” - PEP 305 (CSV 文件 API) 中被提出《Python 增强提议》提出了对 Python 的这一补充。 模块内容 csv 模块定义了以下函数: csv.reader(csvfile, dialect='excel', **fmtparams) 返回一个 reader 对象,该对象将逐行遍历 csvfile。csvfile 可以是任何对象,只要这个对象支持 iterato...
curses.ascii --- 用于 ASCII 字符的工具
curses.ascii --- 用于 ASCII 字符的工具 curses.ascii 模块提供了一些 ASCII 字符的名称常量以及在各种 ASCII 字符类中执行成员检测的函数。 所提供的控制字符常量如下: 名称 含意 NUL SOH 标题开始,控制台中断 STX 文本开始 ETX 文本结束 EOT 传输结束 ENQ 查询,附带 ACK 流量控制 ACK 确认 BEL 蜂鸣器 BS 退格 TAB...
datetime --- 基本日期和时间类型
...: Lib/datetime.py datetime 模块提供用于处理日期和时间的类。 在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。 也參考 模块 calendar通用日历相关函数 模块 time时间的访问和转换 dateutil 包具有扩展时区和解析支持的第三方库。 感知型对象和简单型对象 日期和时间对象可以根据它们是否包含时区信息而分为“感知型”和“简单型”两类。 充分掌握应用性算法和政治性时间调...
dbm --- Unix "数据库" 接口
...n dbm.error 一个元组,其中包含每个受支持的模块可引发的异常,另外还有一个名为 dbm.error 的特殊异常作为第一项 --- 后者最在引发 dbm.error 时被使用。 dbm.whichdb(filename) 此函数会猜测各种简单数据库模块中的哪一个是可用的 --- dbm.gnu, dbm.ndbm 还是 dbm.dumb --- 应该被用来打开给定的文件。 返回下列值中的一个:如果文件由于不可读或不存在而无法打开则返回 None;如果文件的格式...
decimal --- 十进制定点和浮点运算
...801688724') >>> Decimal('NaN') Decimal('NaN') >>> Decimal('-Infinity') Decimal('-Infinity') 如果 FloatOperation 信号被捕获,构造函数中的小数和浮点数的意外混合或排序比较会引发异常 >>> c = getcontext() >>> c.traps[FloatOperation] = True >>> Decimal(3.14) Traceback (most rece...
difflib --- 计算差异的辅助工具
difflib --- 计算差异的辅助工具 源代码: Lib/difflib.py 此模块提供用于比较序列的类和函数。 例如,它可被用于比较文件,并可产生多种格式的不同文件差异信息,包括 HTML 和上下文以及统一的 diff 数据。 有关比较目录和文件,另请参阅 filecmp 模块。 class difflib.SequenceMatcher 这是一个灵活的类,可用于比较任何类型的序列对,只要序列元素为 hashable 对象。 其...
email.charset: 表示字符集
..._codec 相同的值。 Charset 实例还有下列方法: get_body_encoding() 返回用于消息体编码的内容转换编码格式。 根据所使用的编码格式返回 quoted-printable 或 base64,或是返回一个函数,在这种情况下你应当调用该函数并附带一个参数,即被编码的消息对象。 该函数应当自行将 Content-Transfer-Encoding 标头设为适当的值。 如果 body_encoding 为 QP 则返回字符串 quoted-pri...
email.contentmanager: 管理 MIME 内容
...提供注册 MIME 内容和其他表示形式间转换器的标准注册机制,以及 get_content 和 set_content 发送方法。 get_content(msg, *args, **kw) 基于 msg 的 mimetype 查找处理函数(参见下一段),调用该函数,传递所有参数,并返回调用的结果。 预期的效果是处理程序将从 msg 中提取有效载荷并返回编码了有关被提取数据信息的对象。 要找到处理程序,将在注册表中查找以下键,找到第一个键即停止: 表示完整 MIME...
email.encoders: 编码器
...ail/encoders.py 此模块是旧版 (Compat32) email API 的组成部分。 在新版 API 中将由 set_content() 方法的 cte 形参提供该功能。 此模块在 Python 3 中已弃用。 这里提供的函数不应被显式地调用,因为 MIMEText 类会在类实例化期间使用 _subtype 和 _charset 值来设置内容类型和 CTE 标头。 本节中的其余文本是此模块的原始文档。 当创建全新的 Message 对象时,你经常需要对载荷编...
email.generator: 生成 MIME 文档
...立克隆,具有完全相同的选项设置,而 fp 为新的 outfp。 write(s) 将 s 写入到传给 Generator 的构造器的 outfp 的 write 方法。 这足够为 Generator 实际提供可用于 print() 函数的文件类 API。 作为一个便捷工具,EmailMessage 提供了 as_string() 和 str(aMessage) (即 __str__()) 等方法,它们简单地生成一个消息对象的已格式化字符串表示形式。 更多细节请...
email.header: 国际化标头
...认为 Python 应用程序代码中最常用的值 (\n),但也可以指定为 \r\n 以便产生带有符合 RFC 的行分隔符的标头。 3.2 版更變: 增加了 linesep 参数。 Header 类还提供了一些方法以支持标准运算符和内置函数。 __str__() 以字符串形式返回 Header 的近似表示,使用不受限制的行长度。 所有部分都会使用指定编码格式转换为 unicode 并适当地连接起来。 任何带有 'unknown-8bit' 字符集的部分都会使用 're...
email.headerregistry: 自定义标头对象
...msg['Date'] = datetime(2011, 7, 15, 21) 因为这是个简单型 datetime 它将被解读为 UTC 时间戳,并且结果值的时区将为 -0000。 使用来自 utils 模块的 localtime() 函数会更有用: msg['Date'] = utils.localtime() 这个例子将日期标头设为使用当前时区时差值的当前时间和日期。 class email.headerregistry.AddressHeader 地址标...
email.iterators: 迭代器
...walk 方法来迭代消息对象树是相当容易的。 email.iterators 模块提供了一些适用于消息对象树的高层级迭代器。 email.iterators.body_line_iterator(msg, decode=False) 此函数会迭代 msg 的所有子部分中的所有载荷,逐行返回字符串载荷。 它会跳过所有子部分的标头,并且它也会跳过任何包含不为 Python 字符串的载荷的子部分。 这基本上等价于使用 readline() 从一个文件读取消息的纯文本表示形式,并...
email.message.Message: 使用 compat32 API 来表示电子邮件消息
...walk 会遍历所有 is_multipart() 方法返回 True 的部分之子部分,哪怕 msg.get_content_maintype() == 'multipart' 返回的是 False 。使用 _structure 除错帮助函数可以帮助我们在下面这个例子当中看清楚这一点: >>> for part in msg.walk(): ... print(part.get_content_maintype() == 'multipart', ......
email.message: 表示一封电子邮件信息
...walk 会遍历所有 is_multipart() 方法返回 True 的部分之子部分,哪怕 msg.get_content_maintype() == 'multipart' 返回的是 False 。使用 _structure 除错帮助函数可以帮助我们在下面这个例子当中看清楚这一点: >>> from email.iterators import _structure >>> for part in msg.walk(): ... print(part.get_c...
email.mime: 从头创建电子邮件和 MIME 对象
...被用来表示主类型为 application 的 MIME 消息。 _data 是包含原始字节数据的字符串。 可选的 _subtype 指定 MIME 子类型并默认为 octet-stream。 可选的 _encoder 是一个可调用对象(即函数),它将执行实际的数据编码以便传输。 这个可调用对象接受一个参数,该参数是 MIMEApplication 的实例。 它应当使用 get_payload() 和 set_payload() 来将载荷改为已编码形式。 它还应根据需要将任何...
email.parser: 解析电子邮件信息
...ne, *, policy=policy.compat32) 除了 headersonly 默认为 True ,其他与 Parser 类完全一样。 考虑到从一个字符串或一个文件对象中创建一个消息对象是非常常见的任务,我们提供了四个方便的函数。它们于顶层 email 包命名空间内可用。 email.message_from_bytes(s, _class=None, *, policy=policy.compat32) 从一个 bytes-like object 中返回...
email.policy: Policy 对象
...email 包中各个组件的行为。 Policy 实例可以被传给 email 包中的多个类和方法以更改它们的默认行为。 可设置的值及其默认值如下所述。 在 email 包中的所有类会使用一个默认的策略。 对于所有 parser 类及相关的便捷函数,还有对于 Message 类来说,它是 Compat32 策略,通过其对应的预定义实例 compat32 来使用。 这个策略提供了与 Python3.3 版之前的 email 包的完全向下兼容性(在某些情况下,也包括对缺陷的兼容性)。...
email.utils: 其他工具
...消息 ID 中字符 '@' 之后的部分,其默认值是本机的主机名。正常情况下无需覆盖此默认值,但在特定情况下覆盖默认值可能会有用,比如构建一个分布式系统,在多台主机上采用一致的域名。 3.2 版更變: 增加了关键字 domain 下列函数是旧(Compat32)电子邮件 API 的一部分。新 API 提供的解析和格式化在标头解析机制中已经被自动完成,故在使用新 API 时没有必要直接使用它们函数。 email.utils.quote(str) 返回一个新的字符串,...
errno --- 标准 errno 系统符号
...设备已无可用空间 errno.ESPIPE 非法查找 errno.EROFS 只读文件系统 errno.EMLINK 链接过多 errno.EPIPE 管道已损坏 errno.EDOM 数学参数超出函数范围 errno.ERANGE 数学运算结果无法表示 errno.EDEADLK 将发生资源死锁 errno.ENAMETOOLONG 文件名过长 errno.ENOLCK 没有可用的记录锁 er...
fcntl --- The fcntl and ioctl system calls
...oses the F_GETPIPE_SZ and F_SETPIPE_SZ constants, which allow to check and modify a pipe's size respectively. 这个模块定义了以下函数: fcntl.fcntl(fd, cmd, arg=0) Perform the operation cmd on file descriptor fd (file objects providing a fileno() met...
filecmp --- 文件及目录的比较
filecmp --- 文件及目录的比较 源代码: Lib/filecmp.py filecmp 模块定义了用于比较文件及目录的函数,并且可以选取多种关于时间和准确性的折衷方案。对于文件的比较,另见 difflib 模块。 filecmp 模块定义了如下函数: filecmp.cmp(f1, f2, shallow=True) 比较名为 f1 和 f2 的文件,如果它们似乎相等则返回 True ,否则返回 False 。 如果 sha...
fileinput --- 迭代来自多个输入流的行
fileinput --- 迭代来自多个输入流的行 源代码: Lib/fileinput.py 此模块实现了一个辅助类和一些函数用来快速编写访问标准输入或文件列表的循环。 如果你只想要读写一个文件请参阅 open()。 典型用法为: import fileinput for line in fileinput.input(encoding="utf-8"): process(line) 此程序会迭代 sys.argv[1:] 中...
fractions --- 分数
...并应当被视为不可变对象。 此外,Fraction 还具有以下属性和方法: 3.2 版更變: Fraction 构造器现在接受 float 和 decimal.Decimal 实例。 3.9 版更變: 现在会使用 math.gcd() 函数来正规化 numerator 和 denominator。 math.gcd() 总是返回 int 类型。 在之前版本中,GCD 的类型取决于 numerator 和 denominator 的类型。 3.11 版更變: Under...
ftplib --- FTP 协议客户端
....connect(host='', port=0, timeout=None, source_address=None) 连接到给定的主机和端口。默认端口号由 FTP 协议规范规定,为 21。偶尔才需要指定其他端口号。每个实例只应调用一次本函数,如果在创建实例时就传入了 host,则根本不应调用它。所有其他方法只能在建立连接后使用。可选参数 timeout 指定连接尝试的超时(以秒为单位)。如果没有传入 timeout,将使用全局默认超时设置。source_address 是...
gc --- 垃圾回收器接口
...若要调试一个存在内存泄漏的程序,调用 gc.set_debug(gc.DEBUG_LEAK) ;需要注意的是,它包含 gc.DEBUG_SAVEALL ,使得被垃圾回收的对象会被存放在 gc.garbage 中以待检查。 gc 模块提供下列函数: gc.enable() 启用自动垃圾回收 gc.disable() 停用自动垃圾回收 gc.isenabled() 如果启用了自动回收则返回 True。 gc.collect(generation=2)...
getopt --- C 风格的命令行选项解析器
getopt --- C 风格的命令行选项解析器 源代码: Lib/getopt.py 備註 getopt 模块是一个命令行选项解析器,其 API 设计会让 C getopt() 函数的用户感到熟悉。 不熟悉 C getopt() 函数或者希望写更少代码并获得更完善帮助和错误消息的用户应当考虑改用 argparse 模块。 此模块可协助脚本解析 sys.argv 中的命令行参数。 它支持与 Unix getopt() 函数相同的惯例(包...
getpass --- 便携式密码输入工具
getpass --- 便携式密码输入工具 源代码: Lib/getpass.py getpass 模块提供了两个函数: getpass.getpass(prompt='Password: ', stream=None) 提示用户输入一个密码且不会回显。 用户会看到字符串 prompt 作为提示,其默认值为 'Password: '。 在 Unix 上,如有必要提示会使用替换错误句柄写入到文件类对象 stream。 stream 默认指...
gettext --- 多语种国际化服务
...ain 为 None,则返回当前的全局域,不为 None 则将全局域设置为 domain,并返回它。 gettext.gettext(message) 返回 message 的本地化翻译,依据包括当前的全局域、语言和语言环境目录。本函数在本地命名空间中通常有别名 _() (参考下面的示例)。 gettext.dgettext(domain, message) 与 gettext() 类似,但在指定的 domain 中查找 message。 gettex...
glob --- Unix 风格路径名模式扩展
...x 终端所用规则找出所有匹配特定模式的路径名,但会按不确定的顺序返回结果。 波浪号扩展不会生效,但 *, ? 以及表示为 [] 的字符范围将被正确地匹配。 这是通过配合使用 os.scandir() 和 fnmatch.fnmatch() 函数来实现的,而不是通过实际发起调用子终端。 请注意不同于 fnmatch.fnmatch(),glob 会将以点号 (.) 开头的文件名作为特殊情况来处理。 (对于波浪号和终端变量扩展,请使用 os.path.expanduser() 和...
graphlib --- 操作类似图的结构的功能
...则会引发 ValueError。 prepare() 将图标记为已完成并检查图中是否存在环。 如何检测到任何环,则将引发 CycleError,但 get_ready() 仍可被用来获取尽可能多的节点直到环阻塞了操作过程。 在调用此函数后,图将无法再修改,因此不能再使用 add() 添加更多的节点。 is_active() 如果可以取得更多进展则返回 True,否则返回 False。 如果环没有阻塞操作,并且还存在尚未被 TopologicalSorter.g...
gzip --- 对 gzip 格式的支持
...接口帮助用户压缩和解压缩文件,功能类似于 GNU 应用程序 gzip 和 gunzip。 数据压缩由 zlib 模块提供。 gzip 模块提供 GzipFile 类和 open()、compress()、decompress() 几个便利的函数。GzipFile 类可以读写 gzip 格式的文件,还能自动压缩和解压缩数据,这让操作压缩文件如同操作普通的 file object 一样方便。 注意,此模块不支持部分可以被 gzip 和 gunzip 解压的格式,如利用 compr...
hashlib --- 安全哈希与消息摘要
...0-2) 以及 RSA 的 MD5 算法 (定义于互联网 RFC 1321)。 术语 "安全哈希" 和 "消息摘要" 是同义的。 较旧的算法被称为消息摘要。 现代的术语是安全哈希。 備註 如果你想找到 adler32 或 crc32 哈希函数,它们在 zlib 模块中。 警告 有些算法已知存在哈希碰撞弱点,请参考最后的“另请参阅”段。 哈希算法 每种类型的 hash 都有一个构造器方法。 它们都返回一个具有相同的简单接口的 hash 对象。 例如,使用 use sh...
heapq --- 堆積佇列 (heap queue) 演算法
...參數 key 和 reverse 。 heapq.nlargest(n, iterable, key=None) 从 iterable 所定义的数据集中返回前 n 个最大元素组成的列表。 如果提供了 key 则其应指定一个单参数的函数,用于从 iterable 的每个元素中提取比较键 (例如 key=str.lower)。 等价于: sorted(iterable, key=key, reverse=True)[:n]。 heapq.nsmallest(n...
hmac --- 基于密钥的消息验证
...estmod 形参现在是必须的。 请将其作为关键字参数传入以避免当你没有初始 msg 时将导致的麻烦。 hmac.digest(key, msg, digest) 基于给定密钥 key 和 digest 返回 msg 的摘要。 此函数等价于 HMAC(key, msg, digest).digest(),但使用了优化的 C 或内联实现,对放入内存的消息能处理得更快。 形参 key, msg 和 digest 具有与 new() 中相同的含义。 作为 CPython...
html --- 超文本标记语言支持
...属性中,如 。 3.2 版新加入. html.unescape(s) 将字符串 s 中的所有命名和数字字符引用 (例如 >, >, >) 转换为相应的Unicode字符。 此函数使用HTML 5标准为有效和无效字符引用定义的规则,以及 HTML 5 命名字符引用列表。 3.4 版新加入. html 包中的子模块是: html.parser —— 具有宽松解析模式的HTML / XHTML解析器 ht...
http.client --- HTTP 协议客户端
...uglevel=0, method=None, url=None) 在成功连接后返回类的实例,而不是由用户直接实例化。 3.4 版更變: 删除了 strict 参数,不再支持HTTP 0.9 风格的“简单响应”。 这个模块定义了以下函数: http.client.parse_headers(fp) Parse the headers from a file pointer fp representing a HTTP request/response. The f...
imghdr --- 推测图像类型
...p' WebP 文件 'exr' OpenEXR 文件 3.5 版新加入: exr 和 webp 格式被添加。 你可以扩展此 imghdr 可以被追加的这个变量识别的文件格式的列表: imghdr.tests 执行单个测试的函数列表。每个函数都有两个参数:字节流和类似开放文件的对象。当 what() 用字节流调用时,类文件对象将是 None。 如果测试成功,这个测试函数应当返回一个描述图像类型的字符串,否则返回 None。 示例: >>> import i...
io --- 处理流的核心工具
...o.open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 这是内置的 open() 函数的别名。 open 附带参数 path、mode、flags 会引发 审计事件。 io.open_code(path) 以 'rb' 模式打开提供的文件。如果目的是将文件内容做为可执行代码,则应使用此函数。 path 应当为 s...
json --- JSON 编码和解码器
...为了得到最紧凑的 JSON 表达式,你应该指定其为 (',', ':') 以消除空白字符。 3.4 版更變: 现当 indent 不是 None 时,采用 (',', ': ') 作为默认值。 当 default 被指定时,其应该是一个函数,每当某个对象无法被序列化时它会被调用。它应该返回该对象的一个可以被 JSON 编码的版本或者引发一个 TypeError。如果没有被指定,则会直接引发 TypeError。 如果 sort_keys 是 true(默认为 False)...
linecache --- 随机读写文本行
...ecache 模块允许从一个 Python 源文件中获取任意的行,并会尝试使用缓存进行内部优化,常应用于从单个文件读取多行的场合。 此模块被 traceback 模块用来提取源码行以便包含在格式化的回溯中。 tokenize.open() 函数被用于打开文件。 此函数使用 tokenize.detect_encoding() 来获取文件的编码格式;如果未指明编码格式,则默认编码为 UTF-8。 linecache 模块定义了下列函数: linecache.getline(...
logging.handlers --- 日志处理程序
...相同。 其属性有: namer 如果此属性被设为一个可调用对象,则 rotation_filename() 方法会委托给该可调用对象。 传给该可调用对象的形参与传给 rotation_filename() 的相同。 備註 namer 函数会在轮换期间被多次调用,因此它应当尽可能的简单快速。 它还应当对给定的输入每次都返回相同的输出,否则轮换行为可能无法按预期工作。 3.3 版新加入. rotator 如果此属性被设为一个可调用对象,则 rotate() 方...
lzma --- 用 LZMA 算法压缩
lzma --- 用 LZMA 算法压缩 3.3 版新加入. 源代码: Lib/lzma.py 此模块提供了可以压缩和解压缩使用 LZMA 压缩算法的数据的类和便携函数。 其中还包含支持 xz 工具所使用的 .xz 和旧式 .lzma 文件格式的文件接口,以及相应的原始压缩数据流。 此模块所提供了接口与 bz2 模块的非常类似。 请注意 LZMAFile 和 bz2.BZ2File 都 不是 线程安全的。,因此如果你需要在多个线程中使用...
mailbox --- 操作多种格式的邮箱
...调用则返回一个迭代所有消息的表示形式的迭代器,或者如果通过 values() 调用则返回一个由这些表示形式组成的列表。 消息会被表示为适当的格式专属 Message 子类的实例,除非当 Mailbox 实例被初始化时指定了自定义的消息工厂函数。 備註 __iter__() 的行为与字典不同,后者是对键进行迭代。 iteritems() items() 如果通过 iteritems() 调用则返回一个迭代 (key, message) 对的迭代器,其中 key...
mailcap --- Mailcap 文件处理
...ap 行。 findmatch() 将自动检查此类条件并在检查未通过时跳过条目。 mailcap.getcaps() 返回一个将 MIME 类型映射到 mailcap 文件条目列表的字典。 此字典必须被传给 findmatch() 函数。 条目会被存储为字典列表,但并不需要了解此表示形式的细节。 此信息来自在系统中找到的所有 mailcap 文件。 用户的 mailcap 文件 $HOME/.mailcap 中的设置将覆盖系统 mailcap 文件 /etc/mail...
marshal --- 内部 Python 对象序列化
marshal --- 内部 Python 对象序列化 此模块包含一此能以二进制格式来读写 Python 值的函数。 这种格式是 Python 专属的,但是独立于特定的机器架构(即你可以在一台 PC 上写入某个 Python 值,将文件传到一台 Sun 上并在那里读取它)。 这种格式的细节有意不带文档说明;它可能在不同 Python 版本中发生改变(但这种情况极少发生)。 1 这不是一个通用的“持久化”模块。 对于通用的持久化以及通过 RP...
mimetypes --- 映射文件名到 MIME 类型
...py mimetypes 模块可以在文件名或 URL 和关联到文件扩展名的 MIME 类型之间执行转换。 所提供的转换包括从文件名到 MIME 类型和从 MIME 类型到文件扩展名;后一种转换不支持编码格式。 该模块提供了一个类和一些便捷函数。 这些函数是该模块通常的接口,但某些应用程序可能也会希望使用类。 下列函数提供了此模块的主要接口。 如果此模块尚未被初始化,它们将会调用 init(),如果它们依赖于 init() 所设置的信息的话。 mimetypes.gues...
mmap --- 内存映射文件支持
...j[index] = 97 来修改单个字节,或者通过对切片赋值来修改一个子序列: obj[i1:i2] = b'...'。 你还可以在文件的当前位置开始读取和写入数据,并使用 seek() 前往另一个位置。 内存映射文件是由 mmap 构造函数创建的,其在 Unix 和 Windows 上是不同的。 无论哪种情况,你都必须为一个打开的文件提供文件描述符以进行更新。 如果你希望映射一个已有的 Python 文件对象,请使用该对象的 fileno() 方法来获取 fileno 参...
multiprocessing --- 基于进程的并行
...序员充分利用给定机器上的多个处理器。 它在 Unix 和 Windows 上均可运行。 multiprocessing 模块还引入了在 threading 模块中没有的API。一个主要的例子就是 Pool 对象,它提供了一种快捷的方法,赋予函数并行化处理一系列输入值的能力,可以将输入数据分配给不同进程处理(数据并行)。下面的例子演示了在模块中定义此类函数的常见做法,以便子进程可以成功导入该模块。这个数据并行的基本例子使用了 Pool , from multiprocessin...
nis --- Sun 的 NIS (黄页) 接口
...nis --- Sun 的 NIS (黄页) 接口 nis 模块提供了对 NIS 库的轻量级包装,适用于多个主机的集中管理。 因为 NIS 仅存在于 Unix 系统,此模块仅在 Unix 上可用。 nis 模块定义了以下函数: nis.match(key, mapname, domain=default_domain) 返回 key 在映射 mapname 中的匹配结果,如无结果则会引发错误 (nis.error)。 两个参数都应为字符串,key 定长...
numbers --- 数字的抽象基类
...<: Complex 和 B <: Real 没有共享任何资源,那么适当的共享操作涉及内置的 complex ,并且分别获得 __radd__() ,因此 a+b == b+a。 由于对任何一直类型的大部分操作是十分相似的,可以定义一个帮助函数,即一个生成后续或相反的实例的生成器。例如,使用 fractions.Fraction 如下: def _operator_fallbacks(monomorphic_operator, fallback_operator):...
optparse --- 解析器的命令行选项
...ore a constant value "append"append this option's argument to a list "count"increment a counter by one "callback"调用指定函数 These are covered in section 参考指南, and section Option Callbacks. 默认值 All of the above examples involve setting so...
os.path --- 常用路径操作
...dows应用程序应使用字符串对象来访问所有文件。 与unix shell不同,Python不执行任何 自动 路径扩展。当应用程序需要类似shell的路径扩展时,可以显式调用诸如 expanduser() 和 expandvars() 之类的函数。 (另请参见 glob 模块。) 也參考 pathlib 模块提供高级路径对象。 備註 所有这些函数都仅接受字节或字符串对象作为其参数。如果返回路径或文件名,则结果是相同类型的对象。 備註 由于不同的操作系统具有不同的路径名...
os --- 多种操作系统接口
...件路径,请参阅 os.path 模块,如果你想读取通过命令行给出的所有文件中的所有行,请参阅 fileinput 模块。 为了创建临时文件和目录,请参阅 tempfile 模块,对于高级文件和目录处理,请参阅 shutil 模块。 关于这些函数的适用性的说明: Python中所有依赖于操作系统的内置模块的设计都是这样,只要不同的操作系统某一相同的功能可用,它就使用相同的接口。例如,函数 os.stat(path) 以相同的格式返回关于 path 的状态信息(该格式源于 PO...
pathlib --- 面向对象的文件系统路径
...s >>> p = PurePath('/etc') >>> os.fspath(p) '/etc' 路径的字符串表示法为它自己原始的文件系统路径(以原生形式,例如在 Windows 下使用反斜杠)。你可以传递给任何需要字符串形式路径的函数。 >>> p = PurePath('/etc') >>> str(p) '/etc' >>> p = PureWindowsPath('c:/Program Files') >>> str(p) 'c:\\Program Files...
pdb --- Python 的调试器
...行的程序进入调试器的典型用法是插入 import pdb; pdb.set_trace() 到你想进入调试器的位置。然后就可以单步执行上述语句之后的代码,要关闭调试器继续运行,请使用 continue 命令。 3.7 版新加入: 内置函数 breakpoint(),当以默认参数调用它时,可以用来代替 import pdb; pdb.set_trace()。 检查已崩溃程序的典型用法是: >>> import pdb >>> import mymodule >>> my...
pickletools --- pickle 开发者工具集
...pickletools --- pickle 开发者工具集 源代码: Lib/pickletools.py 此模块包含与 pickle 模块内部细节有关的多个常量,一些关于具体实现的详细注释,以及一些能够分析封存数据的有用函数。 此模块的内容对需要操作 pickle 的 Python 核心开发者来说很有用处;pickle 的一般用户则可能会感觉 pickletools 模块与他们无关。 命令行语法 3.2 版新加入. 当从命令行发起调用时,python...
platform --- 获取底层平台的标识数据
...以字符串形式返回。 无法确定的值将返回为形参预设所给出的值。 如果给出的位数为 '',则会使用 sizeof(pointer) (或者当 Python 版本 < 1.5.2 时为 sizeof(long)) 作为所支持的指针大小的提示。 此函数依赖于系统的 file 命令来执行实际的操作。 这在几乎所有 Unix 平台和某些非 Unix 平台上只有当可执行文件指向 Python 解释器时才可用。 当以上要求不满足时将会使用合理的默认值。 備註 在 macOS (也许还有其他...
plistlib --- 生成与解析 Apple .plist 文件
...operty list (.plist) 文件格式是一种简单的序列化格式,它支持一些基本对象类型,例如字典、列表、数字和字符串等。 通常使用一个字典作为最高层级对象。 要写入和解析 plist 文件,请使用 dump() 和 load() 函数。 要以字节串对象形式操作 plist 数据,请使用 dumps() 和 loads()。 值可以为字符串、整数、浮点数、布尔值、元组、列表、字典(但只允许用字符串作为键)、bytes、bytearray 或 datetime.date...
poplib --- POP3 协议客户端
...=None, context=None) 一个 POP3 的子类,它使用经 SSL 加密的套接字连接到服务器。如果端口 port 未指定,则使用 995,它是标准的 POP3-over-SSL 端口。timeout 的作用与 POP3 构造函数中的相同。context 是一个可选的 ssl.SSLContext 对象,该对象可以将 SSL 配置选项、证书和私钥打包放入一个单独的(可以长久存在的)结构中。请阅读 安全考量 以获取最佳实践。 keyfile 和 certfile...
posix --- 最常见的 POSIX 系统调用
...S='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \ ./configure 重要的模块内容 除了 os 模块文档已说明的许多函数,posix 还定义了下列数据项: posix.environ 一个表示解释器启动时间点的字符串环境的字典。 键和值的类型在Unix 上为 bytes 而在 Windows 上为 str。 例如,environ[b'HOME'] (...
pprint --- 数据美化输出
...', 'lumberjack', 'knights', 'ni'] pprint.isreadable(object) 确定 object 的格式化表示是否“可读”,或是否可被用来通过 eval() 重新构建对象的值。 此函数对于递归对象总是返回 False。 >>> pprint.isreadable(stuff) False pprint.isrecursive(object) 确定 object 是否需要递归表示。 此外还定义了一个支持...
pty --- 伪终端工具
...一个进程并能以程序方式在其控制终端中进行读写。 伪终端处理高度依赖于具体平台。 此代码主要针对 Linux, FreeBSD 和 macOS 进行了测试(它应当也能在其他 POSIX 平台上工作,但是未经充分测试)。 pty 模块定义了下列函数: pty.fork() 分叉。 将子进程的控制终端连接到一个伪终端。 返回值为 (pid, fd)。 请注意子进程获得 pid 0 而 fd 为 invalid。 父进程返回值为子进程的 pid 而 fd 为一个连接到子进程的控制...
py_compile --- 编译 Python 源文件
py_compile --- 编译 Python 源文件 源代码: Lib/py_compile.py py_compile 模块提供了用来从源文件生成字节码的函数和另一个用于当模块源文件作为脚本被调用时的函数。 虽然不太常用,但这个函数在安装共享模块时还是很有用的,特别是当一些用户可能没有权限在包含源代码的目录中写字节码缓存文件时。 exception py_compile.PyCompileError 当编译文件过程中发生错误时,抛...
pyclbr --- Python 模块浏览器支持
pyclbr --- Python 模块浏览器支持 源代码: Lib/pyclbr.py pyclbr 模块提供了对于以 Python 编写的模块中定义的函数、类和方法的受限信息。 这种信息足够用来实现一个模块浏览器。 这种信息是从 Python 源代码中直接提取而非通过导入模块,因此该模块可以安全地用于不受信任的代码。 此限制使得非 Python 实现的模块无法使用此模块,包括所有标准和可选的扩展模块。 pyclbr.readmodu...
pydoc --- 文档生成器和在线帮助系统
...--- 文档生成器和在线帮助系统 源代码: Lib/pydoc.py pydoc 模块会根据 Python 模块来自动生成文档。 生成的文档可在控制台中显示为文本页面,提供给 Web 浏览器访问或者保存为 HTML 文件。 对于模块、类、函数和方法,显示的文档内容取自文档字符串(即 __doc__ 属性),并会递归地从其带文档的成员中获取。 如果没有文档字符串,pydoc 会尝试从类、函数或方法定义上方,或是模块顶部的注释行段落获取 (参见 inspect.getcomme...
queue --- 一个同步的队列类
...d. If maxsize is less than or equal to zero, the queue size is infinite. class queue.LifoQueue(maxsize=0) LIFO 队列构造函数。 maxsize 是个整数,用于设置可以放入队列中的项目数的上限。当达到这个大小的时候,插入操作将阻塞至队列中的项目被消费掉。如果 maxsize 小于等于零,队列尺寸为无限大。 class queue.PriorityQue...
quopri --- 编码与解码经过 MIME 转码的可打印数据
...t, header=False) 解码 input 文件的内容并将已解码二进制数据结果写入 output 文件。 input 和 output 必须为 二进制文件对象。 如果提供了可选参数 header 且为真值,下划线将被解码为空格。 此函数可用于解码“Q”编码的头数据,具体描述见 RFC 1522: "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for N...
re --- 正则表达式操作
...值中,反斜杠不必做任何特殊处理。 因此 r"\n" 表示包含 '\' 和 'n' 两个字符的字符串,而 "\n" 则表示只包含一个换行符的字符串。 样式在 Python 代码中通常都使用原始字符串表示法。 绝大多数正则表达式操作都提供为模块函数和方法,在 编译正则表达式. 这些函数是一个捷径,不需要先编译正则对象,但是损失了一些优化参数。 也參考 第三方模块 regex , 提供了与标准库 re 模块兼容的 API 接口,同时,还提供了更多功能和更全面的 Unicode...
readline --- GNU readline 接口
readline --- GNU readline 接口 readline 模块定义了许多方便从 Python 解释器完成和读取/写入历史文件的函数。 此模块可以直接使用,或通过支持在交互提示符下完成 Python 标识符的 rlcompleter 模块使用。 使用此模块进行的设置会同时影响解释器的交互提示符以及内置 input() 函数提供的提示符。 Readline keybindings may be configured via a...
reprlib --- 另一种 repr() 实现
...repr() 实现 源代码: Lib/reprlib.py reprlib 模块提供了一种对象表示的产生方式,它会对结果字符串的大小进行限制。 该方式被用于 Python 调试器,也适用于某些其他场景。 此模块提供了一个类、一个实例和一个函数: class reprlib.Repr 该类提供了格式化服务 适用于实现与内置 repr() 相似的方法;其中附加了针对不同对象类型的大小限制,以避免生成超长的表示。 reprlib.aRepr 这是 Repr 的一个实例...
sched --- 事件调度器
...了一个实现通用事件调度程序的类: class sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep) scheduler 类定义了一个调度事件的通用接口。 它需要两个函数来实际处理“外部世界” —— timefunc 应当不带参数地调用,并返回一个数字(“时间”,可以为任意单位)。 delayfunc 函数应当带一个参数调用,与 timefunc 的输出相兼容,并且应当延迟其所指定的时间单位。 每个事件...
select --- 等待 I/O 完成
select --- 等待 I/O 完成 该模块提供了对 select() 和 poll() 函数的访问,这些函数在大多数操作系统中是可用的。在 Solaris 及其衍生版本上可用 devpoll(),在 Linux 2.5+ 上可用 epoll(),在大多数 BSD 上可用 kqueue()。注意,在 Windows 上,本模块仅适用于套接字;在其他操作系统上,本模块也适用于其他文件类型(特别地,在 Unix 上也适用于管道)。本模块不能...
shelve --- Python 对象持久化
...e, writeback=False) Shelf 的一个子类,它接受一个 filename 而非字典类对象。 下层文件将使用 dbm.open() 来打开。 默认情况下,文件将以读写模式打开。 可选的 flag 形参具有与 open() 函数相同的含义。 可选的 protocol 和 writeback 形参具有与 Shelf 类相同的含义。 示例 对接口的总结如下 (key 为字符串,data 为任意对象): import shelve d = shelve.o...
shutil --- 高阶文件操作
shutil --- 高阶文件操作 源代码: Lib/shutil.py shutil 模块提供了一系列对文件和文件集合的高阶操作。 特别是提供了一些支持文件拷贝和删除的函数。 对于单个文件的操作,请参阅 os 模块。 警告 即便是高阶文件拷贝函数 (shutil.copy(), shutil.copy2()) 也无法拷贝所有的文件元数据。 在 POSIX 平台上,这意味着将丢失文件所有者和组以及 ACL 数据。 在 Mac OS 上,资...
signal --- 设置异步事件处理程序
signal --- 设置异步事件处理程序 该模块提供了在 Python 中使用信号处理程序的机制。 一般规则 signal.signal() 函数允许定义在接收到信号时执行的自定义处理程序。少量的默认处理程序已经设置: SIGPIPE 被忽略(因此管道和套接字上的写入错误可以报告为普通的 Python 异常)以及如果父进程没有更改 SIGINT ,则其会被翻译成 KeyboardInterrupt 异常。 一旦设置,特定信号的处理程序将...
site —— 指定域的配置钩子
...用解释器的 -S 选项来屏蔽。 导入此模块将会附加域特定的路径到模块搜索路径并且添加一些内建对象,除非使用了 -S 选项。 那样的话,模块可以被安全地导入,而不会对模块搜索路径和内建对象有自动的修改或添加。要明确地触发通常域特定的添加,调用函数 site.main()。 3.3 版更變: 在之前即便使用了 -S,导入此模块仍然会触发路径操纵。 它会从头部和尾部构建至多四个目录作为起点。 对于头部,它会使用 sys.prefix 和 sys.exec_prefix;空的头部...
smtplib ---SMTP协议客户端
...port=0) 连接到某个主机的某个端口。默认是连接到 localhost 的标准 SMTP 端口(25)上。如果主机名以冒号 (':') 结尾,后跟数字,则该后缀将被删除,且数字将视作要使用的端口号。如果在实例化时指定了 host,则构造函数会自动调用本方法。返回包含响应码和响应消息的 2 元组,它们由服务器在其连接响应中发送。 Raises an auditing event smtplib.connect with arguments self, host, port....
sndhdr --- 推测声音文件的类型
sndhdr --- 推测声音文件的类型 源代码 Lib/sndhdr.py sndhdr 提供了企图猜测文件中的声音数据类型的功能函数。当这些函数可以推测出存储在文件中的声音数据的类型是,它们返回一个 collections.namedtuple(),包含了五种属性:(filetype, framerate, nchannels, nframes, sampwidth)。这些 type 的值表示数据的类型,会是以下字符串之一: 'aifc...
spwd --- The shadow password database
...and sp_pwdp items are strings, all others are integers. KeyError is raised if the entry asked for cannot be found. 定义了以下函数: spwd.getspnam(name) Return the shadow password database entry for the given user name. 3.6 版更變: Raises a Permissi...
ssl --- 套接字对象的 TLS/SSL 包装器
...Sv1.3 with OpenSSL version 1.1.1. 警告 在阅读 安全考量 前不要使用此模块。 这样做可能会导致虚假的安全感,因为ssl模块的默认设置不一定适合你的应用程序。 文档本文档记录``ssl`` 模块的对象和函数;更多关于TLS,SSL,和证书的信息,请参阅下方的“详情”选项 本模块提供了一个类 ssl.SSLSocket,它派生自 socket.socket 类型,并提供类似套接字的包装器,也能够对通过带 SSL 套接字的数据进行加密和解密。...
stat --- 解析 stat() 结果
...stat --- 解析 stat() 结果 源代码: Lib/stat.py stat 模块定义了一些用于解析 os.stat(), os.fstat() 和 os.lstat() (如果它们存在) 输出结果的常量和函数。 有关 stat(), fstat() 和 lstat() 调用的完整细节,请参阅你的系统文档。 3.4 版更變: stat 模块是通过 C 实现来支持的。 stat 模块定义了以下函数来检测特定文件类型: stat.S_IS...
statistics --- 數學統計函式
statistics --- 數學統計函式 3.4 版新加入. Source code: Lib/statistics.py 该模块提供了用于计算数字 (Real-valued) 数据的数理统计量的函数。 此模块并不是诸如 NumPy , SciPy 等第三方库或者诸如 Minitab , SAS , Matlab 等针对专业统计学家的专有全功能统计软件包的竞品。此模块针对图形和科学计算器的水平。 除非明确注释,这些函数支持 int ,...
stringprep --- 因特网字符串预备
...gprep 仅公开了来自 RFC 3454 的表格。 由于这些如果表格如果表示为字典或列表将会非常庞大,该模块在内部使用 Unicode 字符数据库。 该模块本身的源代码是使用 mkstringprep.py 工具生成的。 因此,这些表格以函数而非数据结构的形式公开。 在 RFC 中有两种表格:集合与映射。 对于集合,stringprep 提供了“特征函数”,即如果形参是集合的一部分则返回值为 True 的函数。 对于映射,它提供了映射函数:它会根据给定的键返回所关联的值。...
tabnanny --- 模糊缩进检测
tabnanny --- 模糊缩进检测 源代码: Lib/tabnanny.py 目前,该模块旨在作为脚本调用。但是可以使用下面描述的 check() 函数将其导入IDE。 備註 此模块提供的API可能会在将来的版本中更改;此类更改可能无法向后兼容。 tabnanny.check(file_or_dir) 如果 file_or_dir 是目录而非符号链接,则递归地在名为 file_or_dir 的目录树中下行,沿途检查所有 .py...
tarfile --- 读写tar归档文件
...档文件 源代码: Lib/tarfile.py tarfile 模块可以用来读写 tar 归档,包括使用 gzip, bz2 和 lzma 压缩的归档。 请使用 zipfile 模块来读写 .zip 文件,或者使用 shutil 的高层级函数。 一些事实和数字: 读写 gzip, bz2 和 lzma 解压的归档要求相应的模块可用。 支持读取 / 写入 POSIX.1-1988 (ustar) 格式。 对 GNU tar 格式的读/写支持,包括 longname 和 lo...
telnetlib -- Telnet 客户端
...et(host=None, port=0[, timeout]) Telnet 表示到 Telnet 服务器的连接. 实例初始化后默认不连接;必须使用 open() 方法来建立连接。或者, 可选参数 host 和 port 也可以传递给构造函数,在这种情况下,到服务器的连接将在构造函数返回前建立。可选参数 timeout 为阻塞操作(如连接尝试)指定一个以秒为单位的超时时间(如果没有指定,将使用全局默认设置) 。 不要重新打开一个已经连接的实例。 这个类有很多 read_*(...
termios --- POSIX 风格的 tty 控制
...I/O 控制的 POSIX 调用的接口。 有关此类调用的完整描述,请参阅 termios(3) Unix 指南页。 它仅在当安装时配置了支持 POSIX termios 风格的 tty I/O 控制的 Unix 版本上可用。 此模块中的所有函数均接受一个文件描述符 fd 作为第一个参数。 这可以是一个整数形式的文件描述符,例如 sys.stdin.fileno() 所返回的对象,或是一个 file object,例如 sys.stdin 本身。 这个模块还定义了与此处所提供的...
textwrap --- 文本自动换行与填充
textwrap --- 文本自动换行与填充 源代码: Lib/textwrap.py textwrap 模块提供了一些快捷函数,以及可以完成所有工作的类 TextWrapper。 如果你只是要对一两个文本字符串进行自动换行或填充,快捷函数应该就够用了;否则的话,你应该使用 TextWrapper 的实例来提高效率。 textwrap.wrap(text, width=70, *, initial_indent='', subseque...
threading --- 基于线程的并行
...ing.py 这个模块在较低级的模块 _thread 基础上建立较高级的线程接口。参见: queue 模块。 3.7 版更變: 这个模块曾经为可选项,但现在总是可用。 備註 在 Python 2.x 系列中,此模块包含有某些方法和函数 camelCase 形式的名称。 它们在 Python 3.10 中已弃用,但为了与 Python 2.5 及更旧版本的兼容性而仍受到支持。 CPython implementation detail: 在 CPython 中,由...
timeit --- 测量小代码片段的执行时间
...0))), number=10000) 0.19665591977536678 但请注意 timeit() 仅在使用命令行界面时会自动确定重复次数。 在 例子 一节你可以找到更多的进阶示例。 Python 接口 该模块定义了三个便利函数和一个公共类: timeit.timeit(stmt='pass', setup='pass', timer=, number=1000000, globals=None) 使用给定语句、 setup...
tkinter.dnd --- 拖放操作支持
...所替代后将被弃用。 tkinter.dnd 模块为单个应用内部的对象提供了在同一窗口中或多个窗口间的拖放操作支持。 要将对象设为可拖放,你必须为其创建启动拖放进程的事件绑定。 通常,你要将 ButtonPress 事件绑定到你所编写的回调函数 (参见 Bindings and Events)。 该函数应当调用 dnd_start(),其中 'source' 为要拖动的对象,而 'event' 为发起调用的事件(你的回调函数的参数)。 目标对象的选择方式如下: 从顶至底地在...
tkinter --- Tcl/Tk的Python接口
...Tk 顶级控件,通常是应用程序的主窗口。每个实例都有自己关联的 Tcl 解释器。 tkinter.Tcl(screenName=None, baseName=None, className='Tk', useTk=0) Tcl() 函数是一个工厂函数,它创建的对象与 Tk 类创建的对象非常相似,只是它不初始化 Tk 子系统。 在不想创建或无法创建(如没有 X Server 的 Unix/Linux 系统)额外的顶层窗口的环境中驱动 Tcl 解释器时,这一点非常有用。...
token --- 与Python解析树一起使用的常量
...guage grammar. The specific numeric values which the names map to may change between Python versions. 该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 Python C 头文件中的定义。 token.tok_name 将此模块中定义的常量的数值映射回名称字符串的字典,允许生成更加人类可读的解析树表示。 token.ISTERMINAL(x) 对终端...
tokenize --- 对 Python 代码使用的标记解析器
...okenize.tokenize(readline) 生成器 tokenize() 需要一个 readline 参数,这个参数必须是一个可调用对象,且能提供与文件对象的 io.IOBase.readline() 方法相同的接口。每次调用这个函数都要 返回字节类型输入的一行数据。 The generator produces 5-tuples with these members: the token type; the token string; a 2-tuple (sro...
trace --- 跟踪Python语句的执行
...trace --- 跟踪Python语句的执行 源代码: Lib/trace.py 模块 trace module 允许你跟踪程序的执行过程,生成带注释的语句覆盖率列表,打印调用/被调用关系以及列出在程序运行期间执行过的函数。可以在其他程序或者命令行中使用它 也參考 Coverage.pyA popular third-party coverage tool that provides HTML output along with advanced f...
traceback --- 打印或检索堆栈回溯
...踪结果时,例如在“封装”解释器时,这是非常有用的。 这个模块使用 traceback 对象 —— 这是存储在 sys.last_traceback 中的对象类型变量,并作为 sys.exc_info() 的第三项被返回。 这个模块定义了以下函数: traceback.print_tb(tb, limit=None, file=None) 如果*limit*是正整数,那么从 traceback 对象 "tb" 输出最高 limit 个(从调用函数开始的)栈的堆栈回溯条目...
tty --- 终端控制功能
tty --- 终端控制功能 Source code: Lib/tty.py tty 模块定义了将 tty 放入 cbreak 和 raw 模式的函数。 因为它需要 termios 模块,所以只能在 Unix 上运行。 tty 模块定义了以下函数: tty.setraw(fd, when=termios.TCSAFLUSH) 将文件描述符 fd 的模式更改为 raw 。如果 when 被省略,则默认为 termios.TCSAFLUSH...
unicodedata --- Unicode 数据库
...) 的访问,其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 UCD 版本 13.0.0。 该模块使用与 Unicode 标准附件 #44 “Unicode 字符数据库” 中所定义的相同名称和符号。 它定义了以下函数: unicodedata.lookup(name) 按名称查找字符。如果找到具有给定名称的字符,则返回相应的字符。 如果没有找到,则 KeyError 被引发。 3.3 版更變: 已添加对名称别名 1 和命名序列 2 的支持。...
unittest.mock --- 模拟对象库
...... assert MockClass1.called ... assert MockClass2.called ... >>> test() 備註 当你嵌套 patch 装饰器时,mock 将以执行顺序传递给装饰器函数(Python 装饰器正常顺序)。由于从下至上,因此在上面的示例中,首先 mock 传入的 module.ClassName1 。 在查找对象的名称空间中修补对象使用 patch() 。使用起来很简单,阅读 在哪里打补丁 来快速上手。...
unittest.mock 上手指南
unittest.mock 上手指南 3.3 版新加入. 使用 mock 模拟方法调用 使用 Mock 的常见场景: 模拟函数调用 记录“对象上的方法调用” 你可能需要替换一个对象上的方法,用于确认此方法被系统中的其他部分调用过,并且调用时使用了正确的参数。 >>> real = SomeClass() >>> real.method = MagicMock(name='method') >>> real.method(3, 4,...
urllib.error --- urllib.request 引发的异常类
...的特定 HTTP 请求的 HTTP 响应头。 3.4 版新加入. exception urllib.error.ContentTooShortError(msg, content) 此异常会在 urlretrieve() 函数检测到已下载的数据量小于期待的数据量(由 Content-Length 头给定)时被引发。 content 属性中将存放已下载(可能被截断)的数据。...
urllib.request --- 用于打开 URL 的可扩展库
...urllib.request --- 用于打开 URL 的可扩展库 源码: Lib/urllib/request.py urllib.request 模块定义了适用于在各种复杂情况下打开 URL(主要为 HTTP)的函数和类 --- 例如基本认证、摘要认证、重定向、cookies 及其它。 也參考 对于更高级别的 HTTP 客户端接口,建议使用 Requests 。 urllib.request 模块定义了以下函数: urllib.reque...
uu --- 对 uuencode 文件进行编码与解码
...或输出。 但是,此接口已被弃用;在 Windows 中调用者最好是自行打开文件,并在需要时确保模式为 'rb' or 'wb'。 此代码由 Lance Ellinghouse 贡献,并由 Jack Jansen 修改。 uu 模块定义了以下函数: uu.encode(in_file, out_file, name=None, mode=None, *, backtick=False) 使用 uuencode 将 in_file 文件编码为 out_file 文件。 经过...
uuid --- UUID objects according to RFC 4122
...ects according to RFC 4122 Source code: Lib/uuid.py 这个模块提供了不可变的 UUID 对象 (UUID 类) 和 uuid1(), uuid3(), uuid4(), uuid5() 等函数用于生成 RFC 4122 所定义的第 1, 3, 4 和 5 版 UUID。 If all you want is a unique ID, you should probably call uuid1() or uuid4()....
venv --- 创建虚拟环境
...是,安装在虚拟环境中的所有脚本都应在不激活的情况下可运行,并自动与虚拟环境的 Python 一起运行。 在 shell 中输入 "deactivate" 可以退出虚拟环境。具体机制取决于不同平台,并且是内部实现(通常使用脚本或 shell 函数)。 3.4 版新加入: fish 和 csh 激活脚本。 3.8 版新加入: 在 POSIX 上安装 PowerShell 激活脚本,以支持 PowerShell Core。 備註 虚拟环境是一个 Python 环境,安装到...
wave --- 读写WAV格式文件
wave --- 读写WAV格式文件 源代码: Lib/wave.py wave 模块提供了一个处理 WAV 声音格式的便利接口。它不支持压缩/解压,但是支持单声道/立体声。 wave 模块定义了以下函数和异常: wave.open(file, mode=None) 如果 file 是一个字符串,打开对应文件名的文件。否则就把它作为文件类对象来处理。mode 可以为以下值: 'rb'只读模式。 'wb'只写模式。 注意不支持同时...
weakref --- 弱引用
...么当对该图像对象的剩余引用是弱映射对象所持有的弱引用时,垃圾回收可以回收该对象并将其在弱映射对象中相应的条目删除。 WeakKeyDictionary 和 WeakValueDictionary 在它们的实现中使用弱引用,在弱引用上设置回调函数,当键或值被垃圾回收回收时通知弱字典。 WeakSet 实现了 set 接口,但像 WeakKeyDictionary 一样,只持有其元素的弱引用。 finalize 提供了注册一个对象被垃圾收集时要调用的清理函数的方式。这比在原始弱引...
webbrowser --- 方便的 Web 浏览器控制工具
...ebbrowser --- 方便的 Web 浏览器控制工具 源码: Lib/webbrowser.py webbrowser 模块提供了一个高层级接口,允许向用户显示基于 Web 的文档。 在大多数情况下,只需调用此模块的 open() 函数就可以了。 在 Unix 下,图形浏览器在 X11 下是首选,但如果图形浏览器不可用或 X11 显示不可用,则将使用文本模式浏览器。 如果使用文本模式浏览器,则调用进程将阻塞,直到用户退出浏览器。 如果存在环境变量 BROWSER ,则...
xdrlib --- 编码与解码 XDR 数据
...ack_item) 打包由同质条目构成的 list。 此方法适用于不确定长度的列表;即其长度无法在遍历整个列表之前获知。 对于列表中的每个条目,先打包一个无符号整数 1,再添加列表中数据的值。 pack_item 是在打包单个条目时要调用的函数。 在列表的末尾,会再打包一个无符号整数 0。 例如,要打包一个整数列表,代码看起来会是这样: import xdrlib p = xdrlib.Packer() p.pack_list([1, 2, 3], p.pack_int)...
xml.dom.minidom --- 最小化的 DOM 实现
...nidom 模块对于恶意构建的数据是不安全的。 如果你需要解析不受信任或未经身份验证的数据,请参阅 XML 漏洞。 DOM 应用程序通常会从将某个 XML 解析为 DOM 开始。 使用 xml.dom.minidom 时,这是通过各种解析函数来完成的: from xml.dom.minidom import parse, parseString dom1 = parse('c:\\temp\\mydata.xml') # parse an XML file by nam...
xml.dom.pulldom --- 支持构建部分 DOM 树
...pulldom.py xml.dom.pulldom 模块提供了一个“拉取解析器”,它能在必要时被用于产生文件的可访问 DOM 的片段。 其基本概念包括从输入的 XML 流拉取“事件”并处理它们。 与同样地同时应用了事件驱动处理模型加回调函数的 SAX 不同,拉取解析器的用户要负责显式地从流拉取事件,并循环遍历这些事件直到处理结束或者发生了错误条件。 警告 xml.dom.pulldom 模块对于恶意构建的数据是不安全的。 如果你需要解析不受信任或未经身份验证的数据,请参...
xml.dom --- 文档对象模型 API
...Document 创建方法的访问,但却没有办法以不依赖具体实现的方式访问 XML 读取器/解析器/文档创建器。 也没有当不存在 Document 对象的情况下访问这些方法的定义良好的方式。 在 Python 中,每个 DOM 实现将提供一个函数 getDOMImplementation()。 DOM 第 3 层级增加了一个载入/存储规格说明,它定义了与读取器的接口,但这在 Python 标准库中尚不可用。 一旦你得到了 DOM 文档对象,你就可以通过 XML 文档的属性和方法...
xml.parsers.expat --- 使用 Expat 的快速 XML 解析
...模块是针对 Expat 非验证 XML 解析器的 Python 接口。 此模块提供了一个扩展类型 xmlparser,它代表一个 XML 解析器的当前状态。 在创建一个 xmlparser 对象之后,该对象的各个属性可被设置为相应的处理句柄函数。 随后当将一个 XML 文档送入解析器时,就会为该 XML 文档中的字符数据和标记调用处理句柄函数。 此模块使用 pyexpat 模块来提供对 Expat 解析器的访问。 直接使用 pyexpat 模块的方式已被弃用。 此模块提供了一...
xml.sax.handler --- SAX 处理句柄的基类
...e_string_interning 值: "http://xml.org/sax/features/string-interning" true: 所有元素名称、前缀、属性名称、命名空间 URI 以及本地名称都使用内置的 intern 函数进行内化。 false: 名称不要求被内化,但也可以被内化(默认)。 access: (解析) 只读; (不解析) 读/写 xml.sax.handler.feature_validation 值: "http://xml....
xml.sax.saxutils --- SAX 工具集
xml.sax.saxutils --- SAX 工具集 源代码: Lib/xml/sax/saxutils.py xml.sax.saxutils 模块包含一些在创建 SAX 应用程序时十分有用的类和函数,它们可以被直接使用,或者是作为基类使用。 xml.sax.saxutils.escape(data, entities={}) 对数据字符串中的 '&', '<' 和 '>' 进行转义。 你可以通过传入一个字典作为可选的 entit...
xml.sax.xmlreader --- 用于 XML 解析器的接口
...-- 用于 XML 解析器的接口 源代码: Lib/xml/sax/xmlreader.py SAX 解析器实现了 XMLReader 接口。 它们是在一个 Python 模块中实现的,该模块必须提供一个 create_parser() 函数。 该函数由 xml.sax.make_parser() 不带参数地发起调用来创建新的解析器对象。 class xml.sax.xmlreader.XMLReader 可由 SAX 解析器继承的基类。 class xml....
xml.sax --- 支持 SAX2 解析器
...: Lib/xml/sax/__init__.py xml.sax 包提供多个模块,它们在 Python 上实现了用于 XML (SAX) 接口的简单 API。 这个包本身为 SAX API 用户提供了一些最常用的 SAX 异常和便捷函数。 警告 xml.sax 模块对于恶意构建的数据是不安全的。 如果你需要解析不受信任或未经身份验证的数据,请参阅 XML 漏洞。 3.7.1 版更變: SAX 解析器默认不会再处理通用外部实体以便提升安全性。 在此之前,解析器会创...
zipfile --- 使用ZIP存档
...已棄用. exception zipfile.LargeZipFile 当 ZIP 文件需要 ZIP64 功能但是未启用时会抛出此错误。 class zipfile.ZipFile 用于读写 ZIP 文件的类。 欲了解构造函数的描述,参阅段落 ZipFile 对象。 class zipfile.Path 用于 zip 文件的兼容 pathlib 的包装器。 详情参见 Path 对象。 3.8 版新加入. class zipfile.PyZ...
zlib --- 与 gzip 兼容的压缩
zlib --- 与 gzip 兼容的压缩 对于需要数据压缩的应用,此模块中的函数允许使用 zlib 库进行压缩和解压缩。 zlib 库的项目主页是 https://www.zlib.net。 已知此 Python 模块与 1.1.3 之前版本的 zlib 库存在不兼容;1.1.3 版则存在一个 安全缺陷,因此我们推荐使用 1.1.4 或更新的版本。 zlib 的函数有很多选项,一般需要按特定顺序使用。本文档没有覆盖全部的用法。更多详细信息...
1. 命令行与环境
...loccount 选项。 3.7 版新加入: -X importtime, -X dev 与 -X utf8 选项。 3.8 版新加入: -X pycache_prefix 选项。 -X dev 选项现在在 io.IOBase 析构函数中记录 close() 异常。 3.9 版更變: 使用 -X dev 选项,在字符串编码和解码操作时检查 encoding 和 errors 参数。 The -X showalloccount 选项已被移除。 3.10 版新加入...
11. 标准库简介 —— 第二部分
11. 标准库简介 —— 第二部分 第二部分涵蓋更多支援專業程式設計所需要的進階模組。這些模組很少出現在小腳本中。 11.1. 格式化输出 reprlib 模块提供了一个定制化版本的 repr() 函数,用于缩略显示大型或深层嵌套的容器对象: >>> import reprlib >>> reprlib.repr(set('supercalifragilisticexpialidocious')) "{'a', 'c', 'd', 'e',...
15. 浮點數運算:問題與限制
...f01b866ep+1') True 由于这种表示法是精确的,它适用于跨越不同版本(平台无关)的 Python 移植数值,以及与支持相同格式的其他语言(例如 Java 和 C99)交换数据. 另一个有用的工具是 math.fsum() 函数,它有助于减少求和过程中的精度损失。 它会在数值被添加到总计值的时候跟踪“丢失的位”。 这可以很好地保持总计值的精确度, 使得错误不会积累到能影响结果总数的程度: >>> sum([0.1] * 10) == 1.0 False >>>...
2. 自定义扩展类型:教程
...Python 对象都视为类型 PyObject* 的变量,即所有 Python 对象的"基础类型"。 PyObject 结构体本身包含了对象的 reference count 和对象的"类型对象"。 类型对象确定解释器需要调用哪些 (C) 函数,例如一个属性查询一个对象,一个方法调用,或者与另一个对象相乘。 这些 C 函数被称为“类型方法”。 所以,如果你想要定义新的扩展类型,需要创建新的类型对象。 这类事情只能用例子解释,这里用一个最小化但完整的的模块,定义了新的类型叫做...
3. 定义扩展类型:已分类主题
...返回这段文档字符串。 现在我们来看一下基本类型方法 - 大多数扩展类型将实现的方法。 3.1. 终结和内存释放 destructor tp_dealloc; 当您的类型实例的引用计数减少为零并且Python解释器想要回收它时,将调用此函数。如果你的类型有内存可供释放或执行其他清理,你可以把它放在这里。 对象本身也需要在这里释放。 以下是此函数的示例: static void newdatatype_dealloc(newdatatypeobject *obj) {...
3. 数据模型
...诺依曼的“存储程序计算机”模型,代码本身也是由对象来表示的。) 每个对象都有各自的编号、类型和值。一个对象被创建后,它的 编号 就绝不会改变;你可以将其理解为该对象在内存中的地址。 'is' 运算符可以比较两个对象的编号是否相同;id() 函数能返回一个代表其编号的整型数。 CPython implementation detail: 在 CPython 中,id(x) 就是存放 x 的内存的地址。 对象的类型决定该对象所支持的操作 (例如 "对象是否有长度属性?") 并...
3. 配置 Python
...IN_DIGIT 为 15 或 30。 参见 sys.int_info.bits_per_digit 。 --with-cxx-main --with-cxx-main=COMPILER 编译 Python main() 函数,用 C++ 编译器链接 Python 可执行文件: $CXX` 或 COMPILER。 --with-suffix=SUFFIX 将 Python 的可执行文件后缀设置为 SUFFIX。 在 Windows 和 macOS 上...
4. 在 Windows 上使用 Python
...in32 长路径”组策略,或在注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 中设置 LongPathsEnabled 为 1。 这允许 open() 函数,os 模块和大多数其他路径功能接受并返回长度超过 260 个字符的路径。 更改上述选项后,无需进一步配置。 3.6 版更變: Python中启用了对长路径的支持。 4.1.3. 安裝排除使用者介面 安装程序UI中的所有选项也可...
4. 执行模型
4. 执行模型 4.1. 程序的结构 Python 程序是由代码块构成的。 代码块 是被作为一个单元来执行的一段 Python 程序文本。 以下几个都属于代码块:模块、函数体和类定义。 交互式输入的每条命令都是代码块。 一个脚本文件(作为标准输入发送给解释器或是作为命令行参数发送给解释器的文件)也是代码块。 一条脚本命令(通过 -c 选项在解释器命令行中指定的命令)也是代码块。 通过在命令行中使用 -m 参数作为最高层级脚本(即 __mai...
4. 构建C/C++扩展
4. 构建C/C++扩展 一个CPython的C扩展是一个共享库(例如一个Linux上的 .so ,或者Windows上的 .pyd ),其会导出一个 初始化函数 。 为了可导入,共享库必须在 PYTHONPATH 中有效,且必须命名遵循模块名字,通过适当的扩展。当使用distutils时,会自动生成正确的文件名。 初始化函数的声明如下: PyObject *PyInit_modulename(void) 该函数返回完整初始化过的模块...
4. 深入了解流程控制
...的對象。我們已經了解 for 陳述式就是如此的架構,另一個使用 iterable 的函式範例是 sum(): >>> sum(range(4)) # 0 + 1 + 2 + 3 6 下文将介绍更多返回可迭代对象或把可迭代对象当作参数的函数。 在 資料結構 这一章节中,我们将讨论有关 list() 的更多细节。 4.4. 迴圈內的 break 和 continue 陳述式及 else 子句 break 陳述式,如同 C 語言,終止包含它的最內部 for 或 while...
5. 在 Windows 上构建 C 和 C++ 扩展
...nix 和 Windows 对于代码的运行时加载使用了完全不同的范式。 在你尝试构建可动态加载的模块之前,要先了解你所用系统是如何工作的。 在 Unix 中,一个共享对象 (.so) 文件中包含将由程序来使用的代码,也包含在程序中可被找到的函数名称和数据。 当文件被合并到程序中时,对在文件代码中这些函数和数据的全部引用都会被改为指向程序中函数和数据在内存中所放置的实际位置。 这基本上是一个链接操作。 在 Windows 中,一个动态链接库 (.dll) 文件中没有悬挂的引用。...
5. 导入系统
...ython 代码通过 importing 操作就能够访问另一个模块内的代码。 import 语句是发起调用导入机制的最常用方式,但不是唯一的方式。 importlib.import_module() 以及内置的 __import__() 等函数也可以被用来发起调用导入机制。 import 语句结合了两个操作;它先搜索指定名称的模块,然后将搜索结果绑定到当前作用域中的名称。 import 语句的搜索操作被定义为对 __import__() 函数的调用并带有适当的参数。 __im...
6. Distutils 示例
...Title underline too short. (line 2) warning: check: Could not finish the parsing. 6.5. 读取元数据 distutils.core.setup() 函数提供一个通过项目的 setup.py 脚本,来查询项目的元数据的域的命令行接口: $ python setup.py --name distribute 这个调用通过运行 distutils.core.setup() 函数读取 n...
7. 扩展 Distutils
...以及要求)某个 Python 版本提供该支持。 出于多种原因,这确实是相当难的。 对于大多数需求来说最为常见并且可能最为合理的一种则是通过你自己的 setup.py 脚本来包含新的实现,然后让 distutils.core.setup() 函数使用它们: from distutils.command.build_py import build_py as _build_py from distutils.core import setup class build_py(_b...
7. 简单语句
...| global_stmt | nonlocal_stmt 7.1. 表达式语句 表达式语句用于计算和写入值(大多是在交互模式下),或者(通常情况)调用一个过程 (过程就是不返回有意义结果的函数;在 Python 中,过程的返回值为 None)。 表达式语句的其他使用方式也是允许且有特定用处的。 表达式语句的句法为: expression_stmt ::= starred_expression 表达式语句会对指定的表达式列...
8. 錯誤和例外
...'eggs') x = spam y = eggs 如果一個例外有引數,則它們會被印在未處理例外的訊息的最後一部分(「細節」)。 异常处理程序不仅会处理在 try 子句 中发生的异常,还会处理在 try 子句 中调用(包括间接调用)的函数。 例如: >>> def this_fails(): ... x = 1/0 ... >>> try: ... this_fails() ... except ZeroDivisionError as err: ......
9. API參照
...文档独立涵盖此处包含的所有相关信息之后,将不再单独作为正式文档保留。 9.1. distutils.core --- 分发包功能的核心 The distutils.core 是为了使用 Distutils 工具唯一要安装的模块。它提供函数 setup() (该函数被 setup 脚本调用)。间接提供了类 distutils.dist.Distribution 和 distutils.cmd.Command. distutils.core.setup(argumen...
9. 类
...基类中相同名称的方法。对象可以包含任意数量和类型的数据。和模块一样,类也拥有 Python 天然的动态特性:在运行时创建,创建后也可以修改。 在 C++ 术语中,通常类成员(包括数据成员)是 public (例外见下文 私有变量),所有成员函数都是 virtual。 与在 Modula-3 中一样,没有用于从对象的方法中引用对象成员的简写:方法函数在声明时,有一个显示的参数代表本对象,该参数由调用隐式提供。 与 Smalltalk 一样,类本身也是对象。 这为导入和重命名提供...
9. 顶级组件
...发起调用语言解释器,但对完整的 Python 程序加以说明还是很有用的。 一个完整的 Python 程序会在最小初始化环境中被执行:所有内置和标准模块均为可用,但均处于未初始化状态,只有 sys (各种系统服务), builtins (内置函数、异常以及 None) 和 __main__ 除外。 最后一个模块用于为完整程序的执行提供局部和全局命名空间。 适用于一个完整 Python 程序的语法即下节所描述的文件输入。 解释器也可以通过交互模式被发起调用;在此情况下,它并不读取...
bytes 对象
bytes 对象 当期望带一个字节串形参但却带一个非字节串形参被调用时,这些函数会引发 TypeError。 type PyBytesObject 这种 PyObject 的子类型表示一个 Python 字节对象。 PyTypeObject PyBytes_Type Part of the Stable ABI.PyTypeObject 的实例代表一个 Python 字节类型,在 Python 层面它与 bytes 是相同的对象...
Capsule 对象
...加入. type PyCapsule 这个 PyObject 的子类型代表一个隐藏的值,适用于需要将隐藏值(作为 void* 指针)通过 Python 代码传递到其他 C 代码的 C 扩展模块。 它常常被用来让在一个模块中定义的 C 函数指针在其他模块中可用,这样就可以使用常规导入机制来访问在动态加载的模块中定义的 C API。 type PyCapsule_Destructor Part of the Stable ABI.Capsule 的析构器回调的类型...
Cell 物件
...構的 cell 物件 PyTypeObject PyCell_Type 對應 cell 物件的物件型別。 int PyCell_Check(ob) 如果 ob 是一个 cell 对象则返回真值;ob 必须不为 NULL。 此函数总是会成功执行。 PyObject *PyCell_New(PyObject *ob) Return value: New reference.创建并返回一个包含值 ob 的新 cell 对象。形参可以为 NULL。 P...
DateTime 物件
DateTime 物件 datetime 模块提供了各种日期和时间对象。 在使用任何这些函数之前,必须在你的源码中包含头文件 datetime.h (请注意此文件并未包含在 Python.h 中),并且宏 PyDateTime_IMPORT 必须被发起调用,通常是作为模块初始化函数的一部分。 这个宏会将指向特定 C 结构的指针放入一个静态变量 PyDateTimeAPI 中,它会由下面的宏来使用。 宏访问UTC单例: PyObject *...
FAQ:在 Windows 使用 Python
...达式并看看结果: >>> print("Hello") Hello >>> "Hello" * 3 'HelloHelloHello' 许多人把交互模式当作方便和高度可编程的计算器。 想结束交互式Python会话时,调用 exit() 函数,或者按住 Ctrl 键时输入 Z ,之后按 Enter 键返回Windows命令提示符。 你可能发现在开始菜单有这样一个条目 开始 ‣ 所有程序 ‣ Python 3.x ‣ Python (命令行), 运行它后会出现一个有着 >>...
IDLE
...,使用名为 tkinter 的图形用户界面工具 跨平台:在 Windows、Unix 和 macOS 上工作近似。 提供输入输出高亮和错误信息的 Python 命令行窗口 (交互解释器) 提供多次撤销操作、Python 语法高亮、智能缩进、函数调用提示、自动补全等功能的多窗口文本编辑器 在多个窗口中检索,在编辑器中替换文本,以及在多个文件中检索(通过 grep) 提供持久保存的断点调试、单步调试、查看本地和全局命名空间功能的调试器 配置、浏览以及其它对话框 目录 IDEL...
ipaddress模組介紹
...绍的范围,但读者需要至少知道存在这两个版本,并且有时需要强制使用一个版本或其他版本。 IP主机地址 通常称为“主机地址”的地址是使用IP寻址时最基本的单元。 创建地址的最简单方法是使用 ipaddress.ip_address() 工厂函数,该函数根据传入的值自动确定是创建 IPv4 还是 IPv6 地址: >>> ipaddress.ip_address('192.0.2.1') IPv4Address('192.0.2.1') >>> ipaddress.ip_add...
List(串列)物件
...t 的代表Python列表类型的实例。在Python层面和类型 list 是同一个对象。 int PyList_Check(PyObject *p) 如果 p 是一个 list 对象或者 list 类型的子类型的实例则返回真值。 此函数总是会成功执行。 int PyList_CheckExact(PyObject *p) 如果 p 是一个 list 对象但不是 list 类型的子类型的实例则返回真值。 此函数总是会成功执行。 PyObject *PyL...
MemoryView 对象
...y_buffer *view) Return value: New reference.创建一个包含给定缓冲区结构 view 的 memoryview 对象。 对于简单的字节缓冲区,PyMemoryView_FromMemory() 是首选函数。 PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order) Return value: New reference. Par...
Python / C API 參考手冊
...C API 參考手冊 本手册描述了希望编写扩展模块并将 Python 解释器嵌入其应用程序中的 C 和 C++ 程序员可用的 API。同时可以参阅 扩展和嵌入 Python 解释器 ,其中描述了扩展编写的一般原则,但没有详细描述 API 函数。 簡介 代码标准 包含文件 有用的宏 对象、类型和引用计数 异常 嵌入式Python 调试构建 C API Stability 稳定的应用程序二进制接口 Platform Considerations Contents of...
Python 2.3 有什么新变化
...重写为: for i, item in enumerate(L): # ... compute some result based on item ... L[i] = result 也參考 PEP 279 - 内置函数 enumerate()由 Raymond D. Hettinger 撰写并实现。 PEP 282: logging 包 A standard package for writing logs, logging, has be...
Python 2.7 有什么新变化
...with code; parse a file containing JSON; or use a YAML parsing library if one is installed. For more information see 配置函数. The following example configures two loggers, the root logger and a logger named "network". Messages sent to the ro...
Python 3.0 有什么新变化
...make this the only API for string formatting, and to start deprecating the % operator in Python 3.1. PEP 3105: print 改为函数. This is now a standard feature and no longer needs to be imported from __future__. More details were given above....
Python 3.10 有什么新变化
...mean: namedtuple? (由 Pablo Galindo 在 bpo-38530 中贡献。) 警告 请注意如果未调用 PyErr_Display() 来显示错误则此特性将没有效果,这可能发生在使用了某些其他自定义错误显示函数的时候。 这在某些 REPL 例如 IPython 上是一种常见的情况。 NameError 当打印解释器所引发的 NameError 时,PyErr_Display() 将提供引发异常的函数中类似变量名称的建议: >>> sc...
Python 3.2 有什么新变化
...array.tobytes() and array.frombytes() for clarity. The old names have been deprecated. (See bpo-8990.) PyArg_Parse*() 函数: "t#" format has been removed: use "s#" or "s*" instead "w" and "w#" formats has been removed: use "w*" instead Th...
Python 3.8 有什么新变化
...in allowed_names] 请尽量将海象运算符的使用限制在清晰的场合中,以降低复杂性并提升可读性。 请参阅 PEP 572 了解详情。 (由 Morehouse 在 bpo-35224 中贡献。) 仅限位置形参 新增了一个函数形参语法 / 用来指明某些函数形参必须使用仅限位置而非关键字参数的形式。 这种标记语法与通过 help() 所显示的使用 Larry Hastings 的 Argument Clinic 工具标记的 C 函数相同。 在下面的例子中,形参...
Python 3.9 有什么新变化
...584,为 dict 增加合并运算符; PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新的内置特性: PEP 616,移除前缀和后缀的字符串方法。 标准库中的新特性: PEP 593,灵活函数和变量注解; 添加了 os.pidfd_open() 以允许不带竞争和信号的进程管理。 解释器的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态; PEP 617,CPython 现在使用基于 PEG 的新解析器; 一...
Python Profilers 分析器
...模块被设计为给指定的程序提供执行概要文件,而不是用于基准测试目的( timeit 才是用于此目标的,它能获得合理准确的结果)。这特别适用于将 Python 代码与 C 代码进行基准测试:分析器为Python 代码引入开销,但不会为 C级别的函数引入开销,因此 C 代码似乎比任何Python 代码都更快。 实时用户手册 本节是为 “不想阅读手册” 的用户提供的。它提供了非常简短的概述,并允许用户快速对现有应用程序执行评测。 要分析采用单个参数的函数,可以执行以下操作: i...
Python 有什麼新功能?
...ython 3.7 有什么新变化 摘要 - 发布重点 新的特性 其他语言特性修改 新增模块 改进的模块 C API 的改变 构建的改变 性能优化 其他 CPython 实现的改变 已弃用的 Python 行为 已弃用的 Python 模块、函数和方法 已弃用的 C API 函数和类型 平台支持的移除 API 与特性的移除 移除的模块 Windows 专属的改变 移植到 Python 3.7 Python 3.7.1 中的重要变化 Python 3.7.2 中的重要变化 Pyt...
Python 標準函式庫 (Standard Library)
...动换行与填充 unicodedata --- Unicode 数据库 stringprep --- 因特网字符串预备 readline --- GNU readline 接口 rlcompleter --- GNU readline 的补全函数 二进制数据服务 struct --- 将字节串解读为打包的二进制数据 codecs --- 编解码器注册和相关基类 数据类型 datetime --- 基本日期和时间类型 zoneinfo --- IANA 时区支持 cale...
Python 說明文件內容
...制转换 PEP 540: 强制 UTF-8 运行时模式 PEP 553: 内置的 breakpoint() PEP 539: 用于线程局部存储的新 C API PEP 562: 定制对模块属性的访问 PEP 564: 具有纳秒级精度的新时间函数 PEP 565: 在 __main__ 中显示 DeprecationWarning PEP 560: 对 typing 模块和泛型类型的核心支持 PEP 552: 基于哈希值的 .pyc 文件 PEP 545: Python 文档翻...
Python 语言参考手册
Python 语言参考手册 本参考手册介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整。有关内置对象类型、内置函数、模块的语义在 Python 標準函式庫 (Standard Library) 中介绍。有关本语言的非正式介绍,请参阅 Python 教學 。对于 C 或 C++ 程序员,我们还提供了两个手册:扩展和嵌入 Python 解释器 介绍了如何编写 Python 扩展模块,Python / C A...
Python 语言服务
...ehensions Statements Imports Control flow Pattern matching Function and class definitions Async and await ast 中的辅助函数 Compiler Flags Command-Line Usage symtable --- Access to the compiler's symbol tables Generating Symbol Tables Exam...
Python运行时服务
Python运行时服务 本章里描述的模块提供了和Python解释器及其环境交互相关的广泛服务。以下是综述: sys --- 系统相关的参数和函数 sysconfig --- Provide access to Python's configuration information 配置变量 安装路径 其他功能 Using sysconfig as a script builtins --- 内建对象 __main__ --- Top-l...
The Very High Level Layer
...it causes an exception to immediately be thrown; this is used for the throw() methods of generator objects. 3.4 版更變: 该函数现在包含一个调试断言,用以确保不会静默地丢弃活动的异常。 int PyEval_MergeCompilerFlags(PyCompilerFlags *cf) This function changes the flags o...
Tkinter 对话框
...t, **kw) tkinter.simpledialog.askinteger(title, prompt, **kw) tkinter.simpledialog.askstring(title, prompt, **kw) 以上三个函数提供给用户输入期望值的类型的对话框. class tkinter.simpledialog.Dialog(parent, title=None) 自定义对话框的基类. body(master) Override to co...
Unicode 指南
...相较于 ASCII 表示法所需的 6 个字节,以上字符串需要占用 24 个字节。RAM 用量的增加没那么要紧(台式计算机有成 GB 的 RAM,而字符串通常不会有那么大),但要把磁盘和网络带宽的用量增加 4 倍是无法忍受的。 与现有的 C 函数(如 strlen() )不兼容,因此需要采用一套新的宽字符串函数。 因此这种编码用得不多,人们转而选择其他更高效、更方便的编码,比如 UTF-8。 UTF-8 是最常用的编码之一,Python 往往默认会采用它。UTF 代表“Uni...
Unix syslog 库例程
...yslog 设施的详细描述. 此模块包装了系统的 syslog 例程族。 一个能与 syslog 服务器对话的纯 Python 库则以 logging.handlers 模块中 SysLogHandler 类的形式提供。 这个模块定义了以下函数: syslog.syslog(message) syslog.syslog(priority, message) 将字符串 message 发送到系统日志记录器。 如有必要会添加末尾换行符。 每条消息都带有一个由 facilit...
Unix 专有服务
...he shadow password database grp --- 组数据库 crypt --- Function to check Unix passwords Hashing Methods Module Attributes 模块函数 例子 termios --- POSIX 风格的 tty 控制 示例 tty --- 终端控制功能 pty --- 伪终端工具 示例 fcntl --- The fcntl and ioctl system calls p...
Windows系统相关模块
...rrors CAB Objects Directory Objects 相关特性 GUI classes Precomputed tables msvcrt --- 来自 MS VC++ 运行时的有用例程 文件操作 控制台 I/O 其他函数 winreg --- Windows 注册表访问 函数 常量 HKEY_* Constants Access Rights 64-bit Specific Value Types Registry Handle Objec...
XML 處理模組
...ee API,一个简单而轻量级的XML处理器 xml.dom:DOM API 定义 xml.dom.minidom:最小的 DOM 实现 xml.dom.pulldom:支持构建部分 DOM 树 xml.sax:SAX2 基类和便利函数 xml.parsers.expat:Expat解析器绑定 XML 漏洞 XML 处理模块对于恶意构造的数据是不安全的。 攻击者可能滥用 XML 功能来执行拒绝服务攻击、访问本地文件、生成与其它计算机的网络连接或绕过防火墙。 下表概...
上下文变量对象
...variable token 类型的类型对象。 类型检查宏: int PyContext_CheckExact(PyObject *o) 如果 o 的类型为 PyContext_Type 则返回真值。 o 必须不为 NULL。 此函数总是会成功执行。 int PyContextVar_CheckExact(PyObject *o) 如果 o 的类型为 PyContextVar_Type 则返回真值。 o 必须不为 NULL。 此函数总是会成功执行。...
事件循环
...ts.py, Lib/asyncio/base_events.py 前言 事件循环是每个 asyncio 应用的核心。 事件循环会运行异步任务和回调,执行网络 IO 操作,以及运行子进程。 应用开发者通常应当使用高层级的 asyncio 函数,例如 asyncio.run(),应当很少有必要引用循环对象或调用其方法。 本节所针对的主要是低层级代码、库和框架的编写者,他们需要更细致地控制事件循环行为。 获取事件循环 以下低层级函数可被用于获取、设置或创建事件循环: asy...
二进制数据服务
...二进制数据(例如 difflib )。 另外,请参阅 Python 的内置二进制数据类型的文档 二进制序列类型 --- bytes, bytearray, memoryview 。 struct --- 将字节串解读为打包的二进制数据 函数和异常 格式字符串 字节顺序,大小和对齐方式 格式字符 例子 类 codecs --- 编解码器注册和相关基类 编解码器基类 错误处理方案 无状态的编码和解码 增量式的编码和解码 IncrementalEncoder 对象 In...
互联网协议和支持
...webbrowser --- 方便的 Web 浏览器控制工具 浏览器控制器对象 cgi --- Common Gateway Interface support 簡介 使用cgi模块。 Higher Level Interface 函数 Caring about security Installing your CGI script on a Unix system Testing your CGI script Debugging CGI scripts Commo...
代码对象
代码对象 代码对象是 CPython 实现的低级细节。 每个代表一块尚未绑定到函数中的可执行代码。 type PyCodeObject 用于描述代码对象的对象的 C 结构。 此类型字段可随时更改。 PyTypeObject PyCode_Type 这是一个 PyTypeObject 实例,其表示Python的 code 类型。 int PyCode_Check(PyObject *co) 如果 co 是一个 code 对象...
传输和协议
...p.subprocess_exec() 使用。 class asyncio.Transport(WriteTransport, ReadTransport) 接口代表一个双向传输,如TCP链接。 用户不用直接实例化传输;调用一个功能函数,给它传递协议工厂和其它需要的信息就可以创建传输和协议。 传输 类实例由如 loop.create_connection() 、 loop.create_unix_connection() 、 loop.create_server(...
低层级 API 索引
低层级 API 索引 本页列出所有低层级的 asyncio API。 获取事件循环 asyncio.get_running_loop() 获取当前运行的事件循环 首选 函数。 asyncio.get_event_loop() 获得一个事件循环实例(当前或通过策略)。 asyncio.set_event_loop() 通过当前策略将事件循环设置当前事件循环。 asyncio.new_event_loop() 创建一个新的事件...
作業系統工具
...error on failure. Hooks added through this API are called for all interpreters created by the runtime. userData 指针会被传入钩子函数。 因于钩子函数可能由不同的运行时调用,该指针不应直接指向 Python 状态。 This function is safe to call before Py_Initialize(). When called after runti...
使对象类型支持循环垃圾回收
...raverse 处理的实现。如果该类型的实例是可变的,还需要实现 tp_clear 。 Py_TPFLAGS_HAVE_GC 设置了此标志位的类型的对象必须符合此处记录的规则。为方便起见,下文把这些对象称为容器对象。 容器类型的构造函数必须符合两个规则: 必须使用 PyObject_GC_New() 或 PyObject_GC_NewVar() 为这些对象分配内存。 初始化了所有可能包含其他容器的引用的字段后,它必须调用 PyObject_GC_Track() 。...
使用 DTrace 和 SystemTap 检测CPython
...ap的信息,描述如何修补策略性放置的机器代码指令以启用SystemTap脚本使用的跟踪钩子。 静态DTrace探针 下面的 DTrace 脚本示例可以用来显示一个 Python 脚本的调用/返回层次结构,只在调用名为 "start" 的函数内进行跟踪。换句话说,导入时的函数调用不会被列出。 self int indent; python$target:::function-entry /copyinstr(arg1) == "start"/ { self...
例外處理
例外處理 本章描述的函数将让你处理和触发 Python 异常。了解一些 Python 异常处理的基本知识是很重要的。 它的工作原理有点像 POSIX 的 errno 变量:(每个线程)有一个全局指示器显示最近发生的错误。 大多数 C API 函数不会在成功时理会它,但会在失败时设置它来指示错误的原因。 多数 C API 函数也返回一个错误指示器,如果它们应该返回一个指针,通常返回 NULL,如果返回一个整数,则返回 -1 (例外: PyArg...
元組(Tuple)物件
...个 Python 元组类型,这与 Python 层面的 tuple 是相同的对象。 int PyTuple_Check(PyObject *p) 如果 p 是一个 tuple 对象或者 tuple 类型的子类型的实例则返回真值。 此函数总是会成功执行。 int PyTuple_CheckExact(PyObject *p) 如果 p 是一个 tuple 对象但不是 tuple 类型的子类型的实例则返回真值。 此函数总是会成功执行。 PyObject *...
內建函式
...assed further. Its only instances are False and True (see 布尔值). 3.7 版更變: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用时将你陷入调试器中。具体来说,它调用 sys.breakpointhook() ,直接传递 args 和 kws 。默认情况下, sys.breakpointhook() 调用 pdb.set_trace() 且没有参数。在这种...
內建常數
...类型的假值。 给 False 赋值是非法的并会引发 SyntaxError。 True bool 类型的真值。 给 True 赋值是非法的并会引发 SyntaxError。 None 通常被用来代表空值的对象,例如在未向某个函数传入默认参数时。 给 None 赋值是非法的并会引发 SyntaxError。 None 是 NoneType 类型的唯一实例。 NotImplemented 应当由双目运算特殊方法(如 __eq__(), __lt__(),...
內建的例外
...提及一个特定类的 except 子句的 try 语句中,该子句也会处理任何派生自该类的异常类(但不处理 它 所派生出的异常类)。 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。 下面列出的内置异常可通过解释器或内置函数来生成。除非另有说明,它们都会具有一个提示导致错误详细原因的“关联值”。 这可以是一个字符串或由多个信息项(例如一个错误码和一个解释错误的字符串)组成的元组。 关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。 这...
具体的对象层
具体的对象层 本章中的函数特定于某些 Python 对象类型。 将错误类型的对象传递给它们并不是一个好主意;如果您从 Python 程序接收到一个对象,但不确定它是否具有正确的类型,则必须首先执行类型检查;例如,要检查对象是否为字典,请使用 PyDict_Check()。 本章的结构类似于 Python 对象类型的“家族树”。 警告 虽然本章所描述的函数会仔细检查传入对象的类型,但是其中许多函数不会检查传入的对象是否为 NULL。 允许传入...
函式編程模組
函式編程模組 本章里描述的模块提供了函数和类,以支持函数式编程风格和在可调用对象上的通用操作。 本章包含以下模块的文档: itertools --- 为高效循环而创建迭代器的函数 Itertool函数 itertools 配方 functools --- 高阶函数和可调用对象上的操作 partial 对象 operator --- 标准运算符替代函数 将运算符映射到函数 原地运算符...
函式(Function)物件
函式(Function)物件 這有一些少數Python函數的於具體說明。 type PyFunctionObject 用于函数的 C 结构体。 PyTypeObject PyFunction_Type 这是一个 PyTypeObject 实例并表示 Python 函数类型。 它作为 types.FunctionType 向 Python 程序员公开。 int PyFunction_Check(PyObject *o) 如果...
切片物件
...e ABI.切片对象的类型对象。 它与 Python 层面的 slice 是相同的对象。 int PySlice_Check(PyObject *ob) 如果 ob 是一个 slice 对象则返回真值;ob 必须不为 NULL。 此函数总是会成功执行。 PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step) Return value: New reference. Part...
初始化,终结和线程
初始化,终结和线程 请参阅 Python 初始化配置 。 在Python初始化之前 在一个植入了 Python 的应用程序中,Py_Initialize() 函数必须在任何其他 Python/C API 函数之前被调用;例外的只有个别函数和 全局配置变量。 在初始化Python之前,可以安全地调用以下函数: 配置函数: PyImport_AppendInittab() PyImport_ExtendInittab() PyInitFro...
匯入模組
...lefinder --- 查找脚本使用的模块 ModuleFinder 的示例用法 runpy --- Locating and executing Python modules importlib --- import 的实现 簡介 函数 importlib.abc —— 关于导入的抽象基类 importlib.resources -- 资源 importlib.machinery -- Importers and path hooks importlib.util -...
匯入模組
...dule, or NULL with an exception set on failure. A failing import of a module doesn't leave the module in sys.modules. 该函数总是使用绝对路径导入。 PyObject *PyImport_ImportModuleNoBlock(const char *name) Return value: New reference. Part of the Stab...
协程与任务
...注意:简单地调用一个协程并不会使其被调度执行 >>> main() 要真正运行一个协程,asyncio 提供了三种主要机制: asyncio.run() 函数用来运行最高层级的入口点 "main()" 函数 (参见上面的示例。) 等待一个协程。以下代码段会在等待 1 秒后打印 "hello",然后 再次 等待 2 秒后打印 "world": import asyncio import tim...
协程对象
协程对象 3.5 版新加入. 协程对象是使用 async 关键字声明的函数返回的。 type PyCoroObject 用于协程对象的C结构体。 PyTypeObject PyCoro_Type 与协程对象对应的类型对象。 int PyCoro_CheckExact(PyObject *ob) 如果 ob 的类型是 PyCoro_Type 则返回真值;ob 必须不为 NULL。 此函数总是会成功执行。 Py...
參照計數
參照計數 本节介绍的宏被用于管理 Python 对象的引用计数。 void Py_INCREF(PyObject *o) 增加对象 o 的引用计数。 此函数通常被用来将 borrowed reference 原地转换为 strong reference。 Py_NewRef() 函数可被用来创建新的 strong reference。 此对象必须不为 NULL;如果你不能确定它不为 NULL,请使用 Py_XINCREF()。 v...
反射
...反射 PyObject *PyEval_GetBuiltins(void) Return value: Borrowed reference. Part of the Stable ABI.返回当前执行帧中内置函数的字典,如果当前没有帧正在执行,则返回线程状态的解释器。 PyObject *PyEval_GetLocals(void) Return value: Borrowed reference. Part of the Stable...
同步原语
...块的类似,但有两个关键注意事项: asyncio 原语不是线程安全的,因此它们不应被用于 OS 线程同步 (而应当使用 threading); 这些同步原语的方法不接受 timeout 参数;请使用 asyncio.wait_for() 函数来执行带有超时的操作。 asyncio 具有下列基本同步原语: Lock Event Condition Semaphore BoundedSemaphore Lock class asyncio.Lock 实现一个用于...
圖形化使用者界面常見問答集
...在等待 I/O 操作时能够处理 Tk 事件吗? 在 Windows 以外的其他平台上可以,你甚至不需要使用线程! 但是你必须稍微修改一下你的 I/O 代码。 Tk 有与 Xt 的 XtAddInput() 对应的调用,它允许你注册一个回调函数,当一个文件描述符可以进行 I/O 操作的时候,Tk 主循环将会调用这个回调函数。 参见 File Handlers。 在Tkinter中键绑定不工作:为什么? 经常听到的抱怨是:已经通过 bind() 方法绑定了事件的处理程序,...
在堆上分配对象
...了内存分配的效率。 void PyObject_Del(void *op) 释放由 PyObject_New() 或者 PyObject_NewVar() 分配内存的对象。这通常由对象的type字段定义的 tp_dealloc 处理函数来调用。调用这个函数以后op对象中的字段都不可以被访问,因为原分配的内存空间已不再是一个有效的Python对象。 PyObject _Py_NoneStruct 这个对象是像 None 一样的 Python 对象。它可以使用 P...
复数对象
复数对象 从C API看,Python的复数对象由两个不同的部分实现:一个是在Python程序使用的Python对象,另外的是一个代表真正复数值的C结构体。API提供了函数共同操作两者。 表示复数的C结构体 需要注意的是接受这些结构体的作为参数并当做结果返回的函数,都是传递“值”而不是引用指针。此规则适用于整个API。 type Py_complex 这是一个对应Python复数对象的值部分的C结构体。绝大部分处理复数对象的函数都用这类...
套接字编程指南
...程更有效的部分原因是它们避免了与自动回收资源相关的开销。换句话说,如果你设法杀死线程,你的整个进程很可能被搞坏。 非阻塞的套接字 如果你已理解上述内容,那么你已经了解了使用套接字的机制所需了解的大部分内容。你仍将以相同的方式使用相同的函数调用。 只是,如果你做得对,你的应用程序几乎是由内到外的。 在 Python 中是使用 socket.setblocking(False) 来设置非阻塞。 在 C 中的做法更为复杂(例如,你需要在 BSD 风格的 O_NONBLOCK...
如何使用 Logging 模組
...發生。事件會被一段訊息所描述。這段訊息可能包含一些因為此事件發生而改變的資料。開發者也可以指派事件的重要程度,重要程度有時候也會被稱作 程度 或是 嚴重性 。 什麼時候使用 logging 对于简单的日志使用来说日志功能提供了一系列便利的函数。它们是 debug(),info(),warning(),error() 和 critical()。想要决定何时使用日志,请看下表,其中显示了对于每个通用任务集合来说最好的工具。 你想要执行的任务 此任务最好的工具...
如何使用urllib套件取得網路資源
...s response: html = response.read() 如果想通过 URL 获取资源并临时存储一下,可以采用 shutil.copyfileobj() 和 tempfile.NamedTemporaryFile() 函数: import shutil import tempfile import urllib.request with urllib.request.urlopen('http://python.org/') as response:...
子进程集
...cio.run(run('ls /zzz')) 将打印: ['ls /zzz' exited with 1] [stderr] ls: /zzz: No such file or directory 由于所有 asyncio 子进程函数都是异步的并且 asyncio 提供了许多工具用来配合这些函数使用,因此并行地执行和监视多个子进程十分容易。 要修改上面的例子来同时运行多个命令确实是非常简单的: async def main(): await asyncio....
字串轉換與格式化
....根据格式字符串 format 和变量参数列表 va,输出不超过 size 个字节到 str。 参见 Unix 手册页面 vsnprintf(3)。 PyOS_snprintf() 和 PyOS_vsnprintf() 包装 C 标准库函数 snprintf() 和 vsnprintf() 。它们的目的是保证在极端情况下的一致行为,而标准 C 的函数则不然。 包装器会确保 str[size-1] 在返回时始终为 '\0'。 它们从不写入超过 size 个字节 (包括末尾的...
字典物件
...例代表一個 Python 字典型態。此與 Python 層中的 dict 為同一個物件。 int PyDict_Check(PyObject *p) 如果 p 是一个 dict 对象或者 dict 类型的子类型的实例则返回真值。 此函数总是会成功执行。 int PyDict_CheckExact(PyObject *p) 如果 p 是一个 dict 对象但不是 dict 类型的子类型的实例则返回真值。 此函数总是会成功执行。 PyObject *PyD...
實體方法物件
...ython 程序公开。 int PyInstanceMethod_Check(PyObject *o) 如果 o 是一个实例方法对象 (类型为 PyInstanceMethod_Type) 则返回真值。 形参必须不为 NULL。 此函数总是会成功执行。 PyObject *PyInstanceMethod_New(PyObject *func) Return value: New reference.返回一个新的实例方法对象,func 应为任意可调用对象,fu...
对象协议
...对象协议 PyObject *Py_NotImplemented NotImplemented 单例,用于标记某个操作没有针对给定类型组合的实现。 Py_RETURN_NOTIMPLEMENTED C 函数内部应正确处理 Py_NotImplemented 的返回过程(即增加 NotImplemented 的引用计数并返回之)。 int PyObject_Print(PyObject *o, FILE *fp, int flags...
对象实现支持
对象实现支持 本章描述了定义新对象类型时所使用的函数、类型和宏。 在堆上分配对象 通用物件結構 基本的对象类型和宏 Implementing functions and methods Accessing attributes of extension types 类型对象 快速参考 "tp 槽" sub-slots slot typedefs PyTypeObject Definition PyObject Slots PyVa...
对象注解属性的最佳实践
...专门介绍 __annotations__ 的,而不是介绍注解的用法。若要了解“类型提示”的使用信息,请参阅 typing 模块。 在 Python 3.10 以上版本中访问对象的注解字典 Python 3.10 在标准库中加入了一个新函数:inspect.get_annotations()。在 Python 3.10 以上的版本中,调用该函数就是访问对象注解字典的最佳做法。该函数还可以“解析”字符串形式的注解。 有时会因为某些原因看不到 inspect.get_anno...
工具
工具 本章中的函数执行各种实用工具任务,包括帮助 C 代码提升跨平台可移植性,在 C 中使用 Python 模块,以及解析函数参数并根据 C 中的值构建 Python 中的值等等。 作業系統工具 系統函式 行程(Process)控制 匯入模組 数据 marshal 操作支持 解析参数并构建值变量 解析参数 字符串和缓存区 數字 其他对象 API 函数 创建变量 字串轉換與格式化 反射 编解码器注册与支持功能 Codec 查找API...
布林物件
...有 Py_False 和 Py_True 两个布尔值。因此,正常的创建和删除功能不适用于布尔值。但是,下列宏可用。 int PyBool_Check(PyObject *o) 如果 o 的类型为 PyBool_Type 则返回真值。 此函数总是会成功执行。 PyObject *Py_False Python的``False``对象。该对象没有任何方法。它应该象其它使用引用计数管理的对象一样使用。 PyObject *Py_True Python的``Tru...
常見Python問答集
...否為好的程式語言 常見資訊 什麼是Python? Python 是一种解释型、交互式、面向对象的编程语言。 它包含了模块、异常、动态类型、高层级动态数据类型以及类等特性。 在面向对象编程以外它还支持多种编程范式,例如过程式和函数式编程等。 Python 结合了超强的功能和极清晰的语法。 它带有许多系统调用和库以及多种窗口系统的接口,并且能用 C 或 C++ 来进行扩展。 它还可用作需要可编程接口的应用程序的扩展语言。 最后,Python 非常易于移植:它可以在...
平台支持
...electorEventLoop 有下列限制: SelectSelector 只被用于等待套接字事件:它支持套接字且最多支持512个套接字。 loop.add_reader() 和 loop.add_writer() 只接受套接字处理回调函数(如管道、文件描述符等都不支持)。 因为不支持管道,所以 loop.connect_read_pipe() 和 loop.connect_write_pipe() 方法没有实现。 不支持 Subprocesses ,也就是 loop...
并发执行
...启动并行任务 Executor 对象 ThreadPoolExecutor ThreadPoolExecutor 例子 ProcessPoolExecutor ProcessPoolExecutor 例子 Future 对象 模块函数 Exception 类 subprocess --- 子进程管理 使用 subprocess 模块 常用参数 Popen 构造函数 异常 安全考量 Popen 对象 Windows Popen 助手 Windows 常数...
序列协议
序列协议 int PySequence_Check(PyObject *o) Part of the Stable ABI.如果对象提供序列协议,函数返回 1,否则返回 0。 请注意它将为具有 __getitem__() 方法的 Python 类返回 1,除非它们是 dict 的子类,因为在一般情况下无法确定它所支持键类型。 此函数总是会成功执行。 Py_ssize_t PySequence_Size(PyObject *o)...
弱參照物件
...n 支持 “弱引用” 作为一类对象。具体来说,有两种直接实现弱引用的对象。第一种就是简单的引用对象,第二种尽可能地作用为一个原对象的代理。 int PyWeakref_Check(ob) 如果 ob 是一个引用或代理对象则返回真值。 此函数总是会成功执行。 int PyWeakref_CheckRef(ob) 如果 ob 是一个引用对象则返回真值。 此函数总是会成功执行。 int PyWeakref_CheckProxy(ob) 如果 ob 是一个代理对象...
扩展和嵌入 Python 解释器
扩展和嵌入 Python 解释器 本文档描述了如何使用 C 或 C++ 编写模块以使用新模块来扩展 Python 解释器的功能。 这些模块不仅可以定义新的函数,还可以定义新的对象类型及其方法。 该文档还描述了如何将 Python 解释器嵌入到另一个应用程序中,以用作扩展语言。 最后,它展示了如何编译和链接扩展模块,以便它们可以动态地(在运行时)加载到解释器中,如果底层操作系统支持此特性的话。 本文档假设你具备有关 Python 的基本知识。有...
抽象物件層
抽象物件層 本章中的函数与 Python对象交互,无论其类型,或具有广泛类的对象类型(例如,所有数值类型,或所有序列类型)。当使用对象类型并不适用时,他们会产生一个 Python 异常。 这些函数是不可能用于未正确初始化的对象的,如一个列表对象被 PyList_New() 创建,但其中的项目没有被设置为一些非``NULL``的值。 对象协议 调用协议 tp_call 协议 Vectorcall 协议 递归控制 Vectorcall 支持...
数字协议
数字协议 int PyNumber_Check(PyObject *o) Part of the Stable ABI.如果对象 o 提供数字的协议,返回真 1,否则返回假。这个函数不会调用失败。 3.8 版更變: 如果 o 是一个索引整数则返回 1。 PyObject *PyNumber_Add(PyObject *o1, PyObject *o2) Return value: New reference. Part of...
数据 marshal 操作支持
数据 marshal 操作支持 这些例程允许 C 代码处理与 marshal 模块所用相同数据格式的序列化对象。 其中有些函数可用来将数据写入这种序列化格式,另一些函数则可用来读取并恢复数据。 用于存储 marshal 数据的文件必须以二进制模式打开。 数字值在存储时会将最低位字节放在开头。 此模块支持两种数据格式版本:第 0 版为历史版本,第 1 版本会在文件和 marshal 反序列化中共享固化的字符串。 第 2 版本会对浮点数使用二进制...
数据持久化
...hon 对象序列化 与其他 Python 模块间的关系 与 marshal 间的关系 与 json 模块的比较 数据流格式 模块接口 可以被封存/解封的对象 封存类实例 持久化外部对象 Dispatch 表 处理有状态的对象 类型,函数和其他对象的自定义归约 外部缓冲区 提供方 API 使用方 API 示例 限制全局变量 性能 例子 copyreg --- 注册配合 pickle 模块使用的函数 示例 shelve --- Python 对象持久化 限制...
数据类型
...time() Format Codes 技术细节 zoneinfo --- IANA 时区支持 使用 ZoneInfo 数据源 配置数据源 编译时配置 环境配置 运行时配置 ZoneInfo 类 字符串表示 封存序列化 函数 全局变量 异常与警告 calendar --- 日历相关函数 collections --- 容器資料型態 ChainMap objects ChainMap 例子和方法 Counter 物件 deque 对象 deque 用...
整數物件
...的实例表示 Python 的整数类型。与Python层中的 int 相同。 int PyLong_Check(PyObject *p) 如果它的参数是 PyLongObject 或 PyLongObject 的子类型则返回真值。 此函数总是会成功执行。 int PyLong_CheckExact(PyObject *p) 如果它的参数是 PyLongObject,但不是 PyLongObject 的子类型则返回真值。 此函数总是会成功执行。 PyObj...
數值與數學模組
數值與數學模組 本章介绍的模块提供与数字和数学相关的函数和数据类型。 numbers 模块定义了数字类型的抽象层次结构。 math 和 cmath 模块包含浮点数和复数的各种数学函数。 decimal 模块支持使用任意精度算术的十进制数的精确表示。 本章包含以下模块的文档: numbers --- 数字的抽象基类 数字的层次 类型接口注释。 加入更多数字的ABC 实现算术运算 math --- 数学函数 数论与表示函数 幂函数与对...
文本处理服务
...本处理高度相关。 此外也请参阅 Python 内置字符串类型的文档 文本序列类型 --- str。 string --- 常见的字符串操作 字符串常量 自定义字符串格式化 格式字符串语法 格式规格迷你语言 格式示例 模板字符串 辅助函数 re --- 正则表达式操作 正则表达式语法 模块内容 正则表达式对象 (正则对象) 匹配对象 正则表达式例子 检查对子 模拟 scanf() search() vs. match() 制作一个电话本 文字整理 查找所有副词 查找...
日志操作手册
...总会把由队列接收到的每条信息都传递给已初始化的每个处理程序。(因为这里假定级别过滤操作已在写入队列时完成了。)从 3.5 版开始,可以修改这种处理方式,只要将关键字参数 respect_handler_level=True 传给侦听器的构造函数即可。这样侦听器将会把每条信息的级别与 handler 的级别进行比较,只在适配时才会将信息传给 handler 。 通过网络收发日志事件 假定现在要通过网络发送日志事件,并在接收端进行处理。有一种简单的方案,就是在发送端的根日志...
旧缓冲协议
旧缓冲协议 3.0 版後已棄用. 这些函数是 Python 2 中“旧缓冲协议”API 的组成部分。 在 Python 3 中,此协议已不复存在,但这些函数仍然被公开以便移植 2.x 的代码。 它们被用作 新缓冲协议 的兼容性包装器,但它们并不会在缓冲被导出时向你提供对所获资源的生命周期控制。 因此,推荐你调用 PyObject_GetBuffer() (或者配合 PyArg_ParseTuple() 函数族使用 y* 或 w* 格式码)...
映射协议
...*o) Part of the Stable ABI.如果对象提供映射协议或支持切片则返回 1,否则返回 0。 请注意它将为具有 __getitem__() 方法的 Python 类返回 1,因为在一般情况下无法确定它所支持的键类型。 此函数总是会成功执行。 Py_ssize_t PyMapping_Size(PyObject *o) Py_ssize_t PyMapping_Length(PyObject *o) Part of the Stable ABI....
术语对照表
...模块中)、数字(在 numbers 模块中)、流(在 io 模块中)、导入查找器和加载器(在 importlib.abc 模块中)。你可以使用 abc 模块来创建自己的 ABC。 annotation -- 标注关联到某个变量、类属性、函数形参或返回值的标签,被约定作为 type hint 来使用。 局部变量的标注在运行时不可访问,但全局变量、类属性和函数的标注会分别存放模块、类和函数的 __annotations__ 特殊属性中。 参见 variable annotat...
檔案與目錄存取
...-- 常用路径操作 fileinput --- 迭代来自多个输入流的行 stat --- 解析 stat() 结果 filecmp --- 文件及目录的比较 dircmp 类 tempfile --- 生成临时文件和目录 例子 已弃用的函数和变量 glob --- Unix 风格路径名模式扩展 fnmatch --- Unix 文件名模式匹配 linecache --- 随机读写文本行 shutil --- 高阶文件操作 目录和文件操作 依赖于具体平台的高效拷贝操作...
檔案(File)物件
...的 Python 2 C API 的最小仿真,它过去依赖于 C 标准库的缓冲 I/O (FILE*) 支持。 在 Python 3 中,文件和流使用新的 io 模块,该模块在操作系统的低层级无缓冲 I/O 之上定义了几个层。 下面所描述的函数是针对这些新 API 的便捷 C 包装器,主要用于解释器的内部错误报告;建议第三方代码改为访问 io API。 PyObject *PyFile_FromFd(int fd, const char *name, const char...
流
...writer.close() await writer.wait_closed() asyncio.run(tcp_echo_client('Hello World!')) 参见下面的 Examples 部分。 Stream 函数 下面的高级 asyncio 函数可以用来创建和处理流: coroutine asyncio.open_connection(host=None, port=None, *, limit=None, ssl=None, family...
浮點數(Floating Point)物件
...型的实例。在Python层面的类型 float 是同一个对象。 int PyFloat_Check(PyObject *p) 如果它的参数是一个 PyFloatObject 或者 PyFloatObject 的子类型则返回真值。 此函数总是会成功执行。 int PyFloat_CheckExact(PyObject *p) 如果它的参数是一个 PyFloatObject 但不是 PyFloatObject 的子类型则返回真值。 此函数总是会成功执行。...
產生器物件
產生器物件 生成器对象是Python用来实现生成器迭代器的对象。它们通常通过迭代产生值的函数来创建,而不是显式调用 PyGen_New() 或 PyGen_NewWithQualName()。 type PyGenObject 用于生成器对象的C结构体。 PyTypeObject PyGen_Type 与生成器对象对应的类型对象。 int PyGen_Check(PyObject *ob) 如果 ob 是一个 gene...
用 asyncio 开发
...,应该使用 loop.call_soon_threadsafe() 方法。 例如: loop.call_soon_threadsafe(callback, *args) 几乎所有异步对象都不是线程安全的,这通常不是问题,除非在任务或回调函数之外有代码可以使用它们。如果需要这样的代码来调用低级异步API,应该使用 loop.call_soon_threadsafe() 方法,例如: loop.call_soon_threadsafe(fut.cancel) 要从不同的O...
用 Python 进行 Curses 编程
...he curses module. A ported version called UniCurses is available. Python 的 curses 模块 此 Python 模块相当简单地封装了 curses 提供的 C 函数;如果你已经熟悉在 C 语言中使用 curses 编程,把这些知识转移的 Python 是非常容易的。最大的差异在于 Python 中的接口通过把不同的 C 函数合并来让事情变得更简单,比如 addstr()、mvaddstr() 和...
訂閱:
張貼留言 (Atom)
-
Python 教學 Python 教學共有 190 多篇 Python 教學,包含基本語法、函式庫、網路爬蟲和一系列由淺入深的精選範例,不僅能對 Python 有充分的認識,還能透過 Python 做出各種有趣的應用! 點選 左側選單 可以查看所有文章 ( 行動裝置可點選 ...
沒有留言:
張貼留言