usys – 系统相关函数

该模块实现相应CPython模块的子集,如下所示。

函数

usys.exit(retval=0)

使用给定的退出代码终止当前程序。该函数出现 SystemExit 异常。若给定一个参数,该值作为 SystemExit 的参数。

usys.atexit(func)

注册在终止时要调用的func。 func必须是不带任何参数的可调用对象,或者必须是None以禁用该调用。 | atexit函数将返回此函数设置的先前值,初始值为None。

与CPython的差异

此功能是MicroPython扩展,旨在提供与CPython中的 atexit 模块类似的功能。

usys.print_exception(exc, file=sys.stdout)

打印异常,并返回到一个类似 file 的对象文件(或默认的 sys.stdout )。

与CPython的差异

该函数出现在CPython的``traceback`` 模块中。 与 traceback.print_exception() 不同, 该函数只接受异常值,而不接受异常类型、异常值和回溯对象;文件 参数应为位置参数; 不支持更多参数。 与CPython兼容的 traceback 模块可在 micropython-lib 中找到。

常量

usys.argv

当前程序由一个可变的参数列表开始。

usys.byteorder

系统的字节顺序("小端" or "大段")。

usys.implementation

具有有关当前Python实现的信息的对象。对于MicroPython而言,具有以下属性;

  • name - string “micropython”

  • version - tuple (major, minor, micro), e.g. (1, 7, 0)

该对象是将MicroPython与其他Python实现区分开来的推荐方法(注意:该对象仍可能不存在于极小的端口中)。

Difference to CPython

CPython为此对象提供更多属性,但是实际有用的最小值是在MicroPython中实现的。

usys.maxsize

一个本地整数类型可在当前平台上保留的最大值,或MicroPython 整数类型所能表示的最大值,若其小于平台最大值 (此即Micropython端口在没有长整数支持下的情况)。

这个属性对于探测平台的位度非常有用(32位vs 64位)。建议不要直接将该属性与某个值进行比较,而是计算其中的比特数;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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.
usys.modules

加载模块库。在某些端口上,可能不包括内置模块。

usys.path

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

usys.platform

MicroPython运行的平台。对于OS/RTOS端口而言,通常为OS的标识符,例如:"AliOS Things"

usys.stderr

标准错误流。

usys.stdin

标准输入流。

usys.stdout

标准输出流。

usys.version

该实现所遵照的Python语言版本,字符串形式。

usys.version_info

该实现所遵照的Python语言版本,整数元组形式。