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