在win上经常会用到上面的编程语言的,那么如何进行退出成了新手的麻烦的,特别是不记得朋友的。那么python如何退出呢?一起来了解下吧:
python如何退出
1. sys.exit()
执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。
该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出。
import sys
sys.exit()
sys.exit(0)
sys.exit(1)
该方法引发的是一个SystemExit异常(这是唯一一个不会被认为是错误的异常),当没有设置捕获这个异常将会直接退出程序执行,当然也可以捕获这个异常进行一些其他操作。
2. os._exit()
效果也是直接退出,不会抛出异常,但是其使用会受到平台的限制,但我们常用的Win32平台和基于UNIX的平台不会有所影响。
知乎上有说是调用了C 语言的 _exit() 函数(未考证)
3. os.kill()
一般用于直接Kill掉进程,但是只能在UNIX平台上有效。
基本原理:该函数是模拟传统的UNIX函数发信号给进程,其中包含两个参数:一个是进程名,即所要接收信号的进程;一个是所要进行的操作。
操作(第二个参数)的常用取值为:
SIGINT 终止进程 中断进程
SIGTERM 终止进程 软件终止信号
SIGKILL 终止进程 杀死进程
SIGALRM 闹钟信号
IPython交互模式下如何退出
如果进入了shell交互窗口,python的退出方式只能够用函数不能够用命令,这有时候让人感觉到很不习惯。因为函数会比命令多一个括号的输入,这让人有点反感。而Linux的终端、DOS CMD窗口、MATLAB等各种使用基本上都是一个exit退出命令即可。相比之下,Python的这种方式确实是让我觉得有点不舒服。
尽管有着使用上的不便利,但是使用时间长了还是能够养成使用Python的时候加个括号实现相应的退出。换了IPython之后,感觉又有一种回到Linux终端的感觉,刚刚试了一下,居然也支持命令式退出。
交互记录:
E:WorkSpace5_PythonDataAnalysischapter05>ipython
Python 2.7.11 | 64-bit | (default, Jun 11 2016, 11:33:47) [MSC v.1500 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 4.1.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit()
E:WorkSpace5_PythonDataAnalysischapter05>ipython
Python 2.7.11 | 64-bit | (default, Jun 11 2016, 11:33:47) [MSC v.1500 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 4.1.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit
两种方式都能够实现从交互界面的退出,虽然只是少敲了两个符号,三次键盘,但是能够省得下几次操作的体验总归还是会很好的。
python退出方式有哪些
python的程序有两种退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。
os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。
举例说明
1 import os
2
3 try:
4 os._exit(0)
5 except:
6 print 'die.'
此处不会打出"going to die"
复制代码
import sys
try:
sys.exit(0)
except:
print 'die'
finally:
print 'cleanup'
复制代码
输出:
die
cleanup
区别
综上,sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。os._exit()直接将python解释器退出,余下的语句不会执行。
一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()
python交互界面的退出
1.在终端输入python,进入之后退出:
1quit()
或者
1exit()
2,进入idle shell下的退出
关闭:
1quit()
或者
1exit()
或者快捷键Ctrl+d