python中的sys.argv,以及sys.exit(1)怎么用?

发布时间 2023-04-04 21:28:37作者: 一先生94

一、sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数

其中,sys.argv[0] 代表当前module的名字

以下用代码举例:

import sys
a = sys.argv
b = len(sys.argv)
print(a)
print(b)

打印结果如下:

 

 

 还是上面的代码,当我运行时候输入:python a.py shi 输出如下:

 

 

继续运行时候输入:python a.py shi yi 输出如下 :

 

 

 

、sys.exit

os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。

 

 

 sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

举例说明:

import os
try:
    os._exit(0)
except:
    print('11')

结果:

 

 

 没有打印出‘’11‘’,说明os._exit() 直接终止python程序。

import sys

try:
    sys.exit(0)
except:
    print("die")
finally:
    print("cleanup")

打印结果:

 

 打印出了“die”和"cleanup",说明执行sys.exit()后会抛出异常。

综上得出,sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。os._exit()直接将python解释器退出,余下的语句不会执行。

 

 

参考自:https://blog.csdn.net/weixin_41640707/article/details/83420750