sys-系统特定的参数和功能
该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。它始终可用。
sys.argv
传递给Python脚本的命令行参数列表。argv[0]是脚本名称(依赖于操作系统,无论这是否是完整路径名)。如果使用-c解释器的命令行选项执行命令,argv[0]则将其设置为字符串’-c’。如果没有脚本名称传递给Python解释器,argv[0]则为空字符串。
要循环标准输入或命令行上给出的文件列表,请参阅fileinput模块。
sys.byteorder
本机字节顺序的指示符。这将具有’big’big-endian(最重要的字节优先)平台和’little’little-endian(最不重要的字节优先)平台的价值。
推荐学习《》。
2.0版本中的新功能
sys.builtin_module_names
一个字符串元组,给出了编译到此Python解释器中的所有模块的名称。(此信息不以任何其他方式提供 - modules.keys()仅列出导入的模块。)
sys.call_tracing(func,args )
呼叫func(*args),同时启用跟踪。跟踪状态被保存,然后恢复。这是从调试器从检查点调用,以递归调试其他一些代码。
sys.copyright
包含与Python解释器相关的版权的字符串
sys._clear_type_cache()
清除内部类型缓存。类型缓存用于加速属性和方法查找。仅在参考泄漏调试期间使用该函数删除不必要的引用。
此功能仅用于内部和专门用途。
版本2.6中的新功能。
sys._current_frames()
返回一个字典,将每个线程的标识符映射到调用该函数时该线程中当前活动的最顶层堆栈帧。请注意,traceback模块中的函数可以在给定这样的帧的情况下构建调用堆栈。
这对于调试死锁是最有用的:这个函数不需要死锁线程的协作,只要这些线程的调用堆栈保持死锁,它们就会被冻结。对于非死锁线程返回的帧在调用代码检查帧时可能与该线程的当前活动没有关系。
此功能仅用于内部和专门用途。
2.5版中的新功能。
sys.dllhandle
指定Python DLL句柄的整数。可用性:Windows。
sys.displayhook(值)
如果值不是None,则此函数sys.stdout将其打印到并保存builtin._。
sys.displayhook调用在 交互式Python会话中输入的表达式的结果。可以通过为其分配另一个单参数函数来自定义这些值的显示sys.displayhook。
sys.dont_write_bytecode
如果这是真的,Python将不会尝试在源模块的导入上编写.pyc或.pyo文件。此值最初设置为True或 False取决于-B命令行选项和 PYTHONDONTWRITEBYTECODE 环境变量,但您可以自己设置它来控制字节码文件的生成。
版本2.6中的新功能。
sys.excepthook(类型,值,回溯)
此函数打印出给定的回溯和异常sys.stderr。
当引发异常并且未被捕获时,解释器sys.excepthook使用三个参数调用 ,即异常类,异常实例和回溯对象。在交互式会话中,这发生在控制返回到提示之前; 在Python程序中,这发生在程序退出之前。可以通过为其分配另一个三参数函数来自定义此类顶级异常的处理sys.excepthook。
sys._displayhook_
sys._excepthook_
这些对象包含的原始值displayhook,并excepthook 在程序的开始。它们被保存,以便displayhook和 excepthook情况下可以恢复他们碰巧得到破碎的对象替换。
sys.exc_info()
此函数返回三个值的元组,这些值提供有关当前正在处理的异常的信息。返回的信息特定于当前线程和当前堆栈帧。如果当前堆栈帧未处理异常,则从调用堆栈帧或其调用者获取信息,依此类推,直到找到正在处理异常的堆栈帧。这里,“处理异常”被定义为“正在执行或已执行except子句。”对于任何堆栈帧,只能访问有关最近处理的异常的信息。
如果堆栈中的任何位置都没有处理异常,None则返回包含三个值的元组 。否则,返回的值是。它们的含义是:type获取正在处理的异常的异常类型(类对象); value获取异常参数(其 关联值或第二个参数,如果异常类型是类对象,则始终为类实例); traceback 获取一个回溯对象(参见参考手册),该对象在最初发生异常的位置封装调用堆栈。(type, value, traceback)raise
如果exc_clear()被调用,则此函数将返回三个None值,直到当前线程中引发另一个异常或执行堆栈返回到正在处理另一个异常的帧。