sys – 系统特定功能

警告

虽然这个基于 MicroPython 的库可能可用于某些 CircuitPython 版本,但它不受支持,并且其功能在未来可能会发生重大变化。随着 CircuitPython 的不断发展,它可能会更改以更紧密地符合相应的标准 Python 库。如果您依赖它当前提供的任何非标准功能,您以后可能需要更改您的代码。

该模块实现了相应 CPython 模块的 一个子集,如下所述。有关更多信息,请参阅原始 CPython 文档: sys.

职能

sys.exit(retval=0, /)

使用给定的退出代码终止当前程序。在底层,此函数作为SystemExit异常引发。如果给出了一个参数,它的值作为 的参数给出SystemExit

常数

sys.argv

当前程序开始时使用的可变参数列表。

sys.byteorder

系统的字节顺序 ("little""big")。

sys.implementation

包含有关当前 Python 实现的信息的对象。对于 CircuitPython,它具有以下属性:

  • 名称- 字符串“circuitpython”

  • 版本- 元组(主要、次要、微),例如 (1, 7, 0)

该对象是将 CircuitPython 与其他 Python 实现区分开来的推荐方法(请注意,它可能仍然不存在于非常小的端口中)。

与 CPython 的区别

CPython 为此对象要求更多属性,但实际有用的最低限度是在 CircuitPython 中实现的。

sys.maxsize

本机整数类型可以在当前平台上保留的最大值,或者 CircuitPython 整数类型可表示的最大值,如果它小于平台最大值(对于没有 long int 支持的 CircuitPython 端口就是这种情况)。

此属性可用于检测平台的“位数”(32 位与 64 位等)。建议不要直接将此属性与某个值进行比较,而是计算其中的位数:

bits = 0
v = sys.maxsize
while v:
    bits += 1
    v >>= 1
if bits > 32:
    # 64-bit (or more) platform
    ...
else:
    # 32-bit (or less) platform
    # Note that on 32-bit platform, value of bits may be less than 32
    # (e.g. 31) due to peculiarities described above, so use "> 16",
    # "> 32", "> 64" style of comparisons.
sys.modules

加载模块的字典。在某些端口上,它可能不包含内置模块。

sys.path

用于搜索导入模块的可变目录列表。

sys.platform

运行 CircuitPython 的平台。对于 OS/RTOS 端口,这通常是 OS 的标识符,例如"linux". 对于裸机端口,它是板上芯片的标识符,例如。因此,它可用于区分一块板与另一块板。如果您需要检查您的程序是否在 CircuitPython(与其他 Python 实现)上运行,请改用。"MicroChip SAMD51"sys.implementation

sys.stderr

标准误stream.

sys.stdin

标准输入 stream.

sys.stdout

标准输出stream.

sys.version

此实现符合的 Python 语言版本,作为字符串。

sys.version_info

此实现符合的 Python 语言版本,作为整数元组。

与 CPython 的区别

仅支持前三个版本号(major、minor、micro),并且只能通过索引而不是名称来引用它们。