退出函数sys.exit()用于退出Python 脚本程序,该函数可以带一个整数作为参数,用于表示程序退出的状态(不同的整数表示不同的退出情形)。不同操作系统用不同整数的表示程序退出状态。
通常,传递整数0 表示程序正常退出。当调用函数sys.exit()时,它将引发SystemExit 异常,该异常允许清理函数在异常处理的try / except 模块的finally 子句中起作用。例如:
import sys
sys.exit(0)
抛出错误异常:
An exception has occurred, use %tb to see the full traceback.
SystemExit: 0
如果要退出解释器而不是单个脚本程序,则可以使用内置函数exit(),该内置函数直接退出并关闭解释器:
exit(0)
sys.executable 中保存Python 解释器的完整路径。例如:
import sys
sys.executable
输出:
'C:\\Users\\s\\Anaconda3\\python.exe'
sys.platform 值为平台标识符。例如:
import sys
sys.platform
输出:
'win32'
通过检查sys.platform 值,可根据不同平台导入不同的模块,或者根据不同平台执行不同的处理代码。例如:
os = sys.platform
if os == "win32":
# 使用Windows 平台相关的代码或模块
pass
elif os.startswith('linux'):
# 使用Linux 平台相关的代码或模块
import subprocess
subprocess.Popen(["ls, -l"])
函数sys.getrefcount()返回一个对象的引用计数,该计数通常比用户预期的多一个,因为它包含作为函数getrefcount()形参的临时引用。例如:
import sys
a = 20489 #a 引用的20489 的引用计数为1
sys.getrefcount(a) #实参a 传递给函数形参,使20489 的引用计数为2
输出:
2
继续执行下面的命令:
b = a
sys.getrefcount(b) #b 引用了 a 引用的对象,20489 的引用计数变为3
输出:
3
当a = 20489 引用创建的字符串对象20489 时,该对象的引用计数为1;将a 作为实参传递给sys.getrefcount(obj)时,形参obj 又引用了a 引用的对象,使得20489 的引用计数变为2;当sys.getrefcount(b)时,即b 引用 a 引用的对象时,20489 的引用计数变为3;当一个对象的引用计数变为0 时,Python 才开始销毁这个对象,并回收这个对象占用的内容。
函数sys.getsizeof()返回一个对象占用的内存的字节数。例如:
import sys
a = 25
sys.getsizeof(a)
输出:
28
即整数a 占用了28 字节。