sys
– 系统特定功能¶
该模块实现了相应 CPython 模块的 一个子集,如下所述。有关更多信息,请参阅原始 CPython 文档: sys
.
职能¶
-
sys.
exit
(retval=0, /)¶ 使用给定的退出代码终止当前程序。在底层,此函数作为
SystemExit
异常引发。如果给出了一个参数,它的值作为 的参数给出SystemExit
。
-
sys.
atexit
(func)¶ 注册func在终止时调用。 func必须是一个不带参数的可调用对象,或者
None
禁用调用。该atexit
函数将返回此函数设置的先前值,最初为None
。与 CPython 的区别
该函数是一个 MicroPython 扩展,旨在为
atexit
CPython 中的模块提供类似的功能。
-
sys.
print_exception
(exc, file=sys.stdout, /)¶ 打印异常并回溯到类似文件的目标文件(或
sys.stdout
默认情况下)。与 CPython 的区别
这是出现
traceback
在 CPython 模块中的函数的简化版本 。与 不同的是traceback.print_exception()
,这个函数只接受异常值而不是异常类型、异常值和回溯对象;文件参数应该是位置;不支持进一步的论点。CPython 兼容的traceback
模块可以在micropython-lib
.
常数¶
-
sys.
argv
¶ 当前程序开始时使用的可变参数列表。
-
sys.
byteorder
¶ 系统的字节顺序(
"little"
或"big"
)。
-
sys.
implementation
¶ 包含有关当前 Python 实现的信息的对象。对于 MicroPython,它具有以下属性:
版本- 元组(主要、次要、微),例如 (1, 7, 0)
该对象是将 MicroPython 与其他 Python 实现区分开来的推荐方式(请注意,它可能仍然不存在于极少的端口中)。
与 CPython 的区别
CPython 为这个对象规定了更多的属性,但实际有用的最低限度是在 MicroPython 中实现的。
-
sys.
maxsize
¶ 本机整数类型可以在当前平台上保留的最大值,或者 MicroPython 整数类型可表示的最大值,如果它小于平台最大值(对于没有 long int 支持的 MicroPython 端口就是这种情况)。
此属性可用于检测平台的“位数”(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
¶ MicroPython 运行的平台。对于 OS/RTOS 端口,这通常是 OS 的标识符,例如
"linux"
对于裸机端口,它是板的标识符,例如"pyboard"
用于原始 MicroPython 参考板。因此,它可用于区分一块板与另一块板。如果您需要检查您的程序是否在 MicroPython 上运行(与其他 Python 实现相比),请sys.implementation
改用。
-
sys.
version
¶ 此实现符合的 Python 语言版本,作为字符串。
-
sys.
version_info
¶ 此实现符合的 Python 语言版本,作为整数元组。
与 CPython 的区别
仅支持前三个版本号(major、minor、micro),并且只能通过索引而不是名称来引用它们。