Python常用标准库之sys

Python033

Python常用标准库之sys,第1张

sys模块主要是针对与Python解释器相关的变量和方法,不是主机操作系统。

导入方式: import sys

sys.argv是一个脚本执行参数列表,列表的第一个元素是脚本名称,从第二个元素开始才是真正的参数。

path是一个目录列表,供Python从中查找模块。在Python启动时,sys.path根据内建规则和PYTHONPATH变量进行初始化。sys.path的第一个元素通常是个空字符串,表示当前目录。

sys.path本质上是一个列表,可以进行append、insert、pop、remove等各种列表相关的操作,但通常都进行append操作,添加自己想要的查找路径。

stdin 用于所有的交互式输入(包括input()函数)。

stdout 用于print()的打印输出或者input()函数的提示符。

stderr 用于解释器自己的提示信息和错误信息。

简而言之,这三个属性就是操作系统的标准输入、输出和错误流,它们返回的都是一个“文件类型”对象,支持read()、write()和flush()等操作,就像用open()方法打开的文件对象那样!

当我们用 input('Please input something!') 时,事实上是先输出提示信息,然后捕获输入。 以下两组等价:

当我们 print(obj) 的时候,事实上是调用了 sys.stdout.write(obj+'\n') ,将内容打印到控制台(默认是显示器),然后追加一个换行符。以下两行等价:

默认情况下 sys.stdout 指向控制台。如果把文件对象赋值给 sys.stdout ,那么 print () 调用的就是文件对象的 write() 方法。

如果你还想同时在控制台打印的话,最好先将原始的控制台对象引用保存下来,向文件中打印之后再恢复 sys.stdout .

参考:

sys是与解释器相关信息的模块

sys.argv # 命令行参数List,第一个元素是程序本身路径

sys.exit(n) # 退出程序,正常退出时exit(0)

sys.version # 获取Python解释程序的版本信息

sys.maxint # 最大的Int值

sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform # 返回操作系统平台名称