第五章 python标准库
系统相关:sys模块
说明:
sys是system的缩写,作用是:主要负责与python解释器进行交互,该模块提供了一系列用于控制python运行环境的函数和变量,用来获取操作系统和编译器的配置、环境设置及操作。
处理命令行参数:
说明:sys.argv就是一个从程序外部获取参数的桥梁,可以从外部获取多个参数。通过sys模块的argv属性可以获取运行python程序的命令行参数。argv属性值是一个列表,列表元素和运行参数的关系为:

获取方式:使用下标[]提取argv参数列表中的元素。
在解释器启动后,argv列表包含了传递给脚本的所有参数,sys.argv[0]返回的是程序本身的路径,后面才是外部给予的参数。
案例演示:

处理模块:sys.path
说明:path列表是一个由目录名构成的列表,返回模块的搜索路径。python从中查找扩展模块(python源模块,编译模块,或者二进制扩展)。初始化时使用python环境变量的值。
由于path列表只是一个普通的列表,所以可以在程序中使用sys模块操作模块搜索路径。

输出结果:

注意:使用sys.path属性可以修改python的当前环境配置。
另外:通过sys模块可以查找内建模块,builtin_module_names列表包含python解释器中所有内建模块的名称:

输出结果:



同样,moudles字典包含所有加载的模块。import语句在从键盘导入内容之前会先检查这个字典,python在处理我们的脚本之前就已经导入了很多模块。
案例演示:

输出结果:

说明:导入模块的多少,与python开发环境有关。
处理引用计数:
说明:getrefcount函数可以返回对象的引用计数,也就是这个对象的使用次数。当object对象的引用计数为0时,系统会收回该对象即销毁该对象。

这个列表被a、b、getrefcount()三处调用,故输出结果为3.
跟踪程序:
说明:setprofiler函数允许我们配置一个分析函数(profiling function)。这个函数会在每次调用某个函数或方法时被调用。


输出结果:

tracer函数会在test函数每次执行到新的一行时被调用。
