# sys – 系统相关函数
该模块实现相应CPython模块的子集。
# 函数
# sys.exit(retval=0)
使用给定的退出代码终止当前程序。该函数出现 SystemExit 异常。若给定一个参数,该值作为 SystemExit 的参数。
# sys.print_exception(exc, file=sys.stdout)
打印异常,并返回到一个类似 file 的对象文件(或默认的 sys.stdout )。
与CPython的不同
该函数出现在CPython的 traceback 模块中。 与 traceback.print_exception() 不同, 该函数只接受异常值,而不接受异常类型、异常值和回溯对象;文件参数应为位置参数; 不支持更多参数。与CPython兼容的 traceback 模块可在 micropython-lib 中找到。
# 常量
# sys.argv
当前程序由一个可变的参数列表开始。
# sys.byteorder
系统的字节顺序( “小端” 或 “大端” )。
# sys.implementation
具有有关当前Python实现的信息的对象。对于MicroPython而言,具有以下属性;
- name - string “micropython”
- version - tuple (major, minor, micro), e.g. (1, 7, 0)
该对象是将MicroPython与其他Python实现区分开来的推荐方法(注意:该对象仍可能不存在于极小的端口中)。
与CPython的不同
CPython为此对象提供更多属性,但是实际有用的最小值是在MicroPython中实现的。
# sys.maxsize
一个本地整数类型可在当前平台上保留的最大值,或MicroPython 整数类型所能表示的最大值,若其小于平台最大值(此即Micropython端口在没有长整数支持下的情况)。
这个属性对于探测平台的位度非常有用(32位vs 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(vs其他Python实现)上运行,请使用 sys.implementation 。
# sys.stderr
标准错误流。
# sys.stdin
标准输入流。
# sys.stdout
标准输出流
# sys.version
该实现所遵照的Python语言版本,字符串形式。
# sys.version_info
该实现所遵照的Python语言版本,整数元组形式。