pythonsys

sys说明

sys模块提供了一系列有关Python运行环境的变量和函数。

1、sys.argv

可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。
变量解释
sys.argv[0]当前程序名
sys.argv[1]第一个参数
sys.argv[2]第二个参数
len(sys.argv)-1 参数个数(减去文件名)

2、sys.path

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

#添加系统环境变量:
import sys,os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
#添加系统环境变量
sys.path.append(BASE_DIR)
print(sys.path)


import sys
sys.path.append("C:python3Scripts")
print(sys.path)

3、sys.platform

获取当前执行环境的平台,如win32表示是Windows系统,linux2表示是linux平台

4、sys.exit(n)

调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。

5、sys.version

获取Python解释程序的版本信息

6、sys.getrefcount

获取一个值的应用计数

a = [11,22,33]
b = a
print(sys.getrefcount(a))
#--------------结果:
#3 
#a,b,还有gerefcount方法三个都在使用这个列表

7、sys.getrecursionlimit python

默认支持的递归数量

8、sys.stdout.write

可以做输出重定向

stdout 是一个类文件对象;调用它的 write 函数可以打印出你给定的任何字符串。
实际上,这就是 print 函数真正做的事情;它在你打印的字符串后面加上一个硬回车,然后调用 sys.stdout.write 函数。
在最简单的例子中,stdout 和 stderr 把它们的输出发送到相同的地方
和 stdout 一样,stderr 并不为你添加硬回车;如果需要,要自己加上。
stdout 和 stderr 都是类文件对象,但是它们都是只写的。
它们都没有 read 方法,只有 write 方法。然而,它们仍然是类文件对象,因此你可以将其它任何 (类) 文件对象赋值给它们来重定向其输出。

for i in range(3):
    print("魔降风云变")
import sys
for i in range(3):
    sys.stdout.write('小马过河')
-----------------结果:
魔降风云变
魔降风云变
魔降风云变
小马过河小马过河小马过河

import sys
for i in range(3):
    sys.stderr.write('小马过河')
------------------结果:
小马过河小马过河小马过河

9、sys.modules

总结:

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

sys.modules.keys() 返回所有已经导入的模块列表

sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

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

sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0

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

sys.maxint 最大的Int值

sys.maxunicode 最大的Unicode值

sys.modules 返回系统导入的模块字段,key是模块名,value是模块

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

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

sys.stdout 标准输出

sys.stdin 标准输入

sys.stderr 错误输出

sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息

sys.exec_prefix 返回平台独立的python文件安装的位置

sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'

sys.copyright 记录python版权相关的东西

sys.api_version 解释器的C的API版本
原文地址:https://www.cnblogs.com/slzhao/p/13561800.html