Python sys包
前言 sys模块提供了一些变量和函数。这些变量可能被解释器使用,也可能由解释器提供。这些函数会影响解释器. 文档地址 这篇文章给常用的一些变量做笔记 sys.argv 一个列表,其中包含了被传递给 Python 脚本的命令行参数。 argv[0]为脚本的名称(是否是完整的路径名取决于操作系统)。如果是通过Python解释器的命令行参数-c来执行的, argv[0]会被设置成字符串 '-c' 。如果没有脚本名被传递给Python解释器, argv[0]为空字符串。 其他选项存在后续下标中,如python main.py -a -b,argv[1]为-a 为了遍历标准输入,或者通过命令行传递的文件列表,参照fileinput模块 sys.exec_prefix 一个字符串,提供特定域的目录前缀,该目录中安装了与平台相关的 Python 文件,默认也是'/usr/local'。 该目录前缀可以在构建时使用configure脚本的--exec-prefix参数进行设置。 具体而言,所有配置文件(如 pyconfig.h 头文件)都安装在目录 exec_prefix/lib/pythonX.Y/config中,共享库模块安装在 exec_prefix/lib/pythonX.Y/lib-dynload中,其中 X.Y 是 Python 的版本号,如 3.2。 sys.base_exec_prefix base_exec_prefix在python启动的时候且在site.py运行之前被设置,和exec_prefix有相同的值(当不使用虚拟环境时) 如果使用了虚拟环境,prefix和exec_prefix会被改变,用于指向虚拟环境 base_prefix和base_exec_prefix会保持指向安装在系统中的python sys.base_prefix base_prefix在python启动的时候且在site.py运行之前被设置,和prefix有相同的值(当不使用虚拟环境时) 如果使用了虚拟环境,prefix和exec_prefix会被改变,用于指向虚拟环境 base_prefix和base_exec_prefix会保持指向安装在系统中的python sys.builtin_module_names 一个元组,包含了所有被编译进了python解释器的模块 sys.exc_info() 本函数返回一个(type, value, traceback)元组: type是正在处理的异常类型(它是BaseException的子类) value是异常实例(异常类型的实例) traceback 是一个回溯对象,该对象封装了最初发生异常时的调用堆栈。 如果整个堆栈都没有正在处理的异常,则以上3个值均为None 返回的信息仅限于当前线程和当前堆栈帧。如果当前堆栈帧没有正在处理的异常,则信息将从下级被调用的堆栈帧或上级调用者等位置获取,依此类推,直到找到正在处理异常的堆栈帧为止。此处的“处理异常”指的是“执行 except 子句”。任何堆栈帧都只能访问当前正在处理的异常的信息。 sys.last_type, sys.last_value, sys.last_traceback 这些变量的含义与上述exc_info()返回值的含义相同, 它们并非总是有定义,仅当有异常未处理,且解释器打印了错误消息和堆栈回溯时,才会给它们赋值。它们的预期用途,是允许交互中的用户导入调试器模块,进行事后调试,而不必重新运行导致错误的命令。...