python退出程序
① 如何在python程序退出的时候,强制运行一些命令呢
程序一定会运行到clean()函数,但是,如果你代码写的多,你就应该知道,滥用try...except...会让你非常痛苦。例如它突然给你打印一个运行异常: 1。你根本不知道是哪里出了问题,也不知道具体出了什么问题。为了找到问题,你必须让程序把错误爆出来。但这样一来,clean()又不能正常运行了。Python退出时强制运行一段代码
有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢?
这个时候,我们就可以使用Python自带的atexit这个模块了。它的使用方法非常简单:
import atexit
@atexit.register
def clean():
print('清理环境相关的代码')
setup()
test()
这样一来,我们不需要显式调用clean函数了。无论程序正常结束,还是程序异常报错,clean函数里面的内容总会执行。
② Python程序运行后直接退出
returnbreak都可以终止函数的运行exit(0)#无错误退出exit(1)#有错误退出这两条语句一般都会加在程序的最后因为exit是迫使系统去终止程序的运行
③ python里怎么终止程序的执行
quit() exit()
执行到此命令时,程序终止。
如果是程序陷入死循环,想强制结束,则按Ctrl + C。这个特别关键。
Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。
在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。
扩展质料:
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大。
而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。
基于C的Python编译出的字节码文件,通常是.pyc格式。
除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。
参考资料:Python-网络
④ python中如何关闭程序
注:Image 没有close方法
解决方案:
fp = open(fullfilename,'rb')
img = Image.open(fp)#这里改为文件句柄
fp.close()
⑤ python 中如何按esc键退出正在运行的程序
要看你在什么平台上运行Python的程序了 我知道的有如下:
如果在putty.exe上 就是Ctrl + D;
如果在IDLE上 就是Ctrl + C, 可能ESC也会有用;
如果在pyscripter上 如果无限循环的东西基本在XP上就不能暂停了 只能强行把pyscripter用任务管理器关了 别的平台我没试过;
⑥ Python中如何在一段时间后停止程序
用到threading的Timer,也类似单片机那样子,在中断程序中再重置定时器,设置中断,python实例代码如下:
import threading
import time
def change_user():
print('这是中断,切换账号')
t = threading.Timer(3, change_user)
t.start()
#每过3秒切换一次账号
t = threading.Timer(3, change_user)
t.start()
while True:
print('我在爬数据')
time.sleep(1)
(6)python退出程序扩展阅读
有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序。sys.exit()会引发一个异常:
1、如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。
2、如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。
注:0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。另一种终止程序的方法os._exit()
一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()
采用sys.exit(0)正常终止程序,程序终止后shell运行不受影响。
采用os._exit(0)关闭整个shell,调用sys._exit(0)后整个shell都重启了(RESTART Shell)。
⑦ Python怎么设置按任意键退出
import msvcrt print("Press 'D' to exit...") while True: if ord(msvcrt.getch()) in [68, 100]: break
这样,当用户按下“D”或“d”时,则程序退出。
⑧ 怎样让python运行完了不直接退出
解决办法有两种:
1、代码要对齐,一般Py脚本里面加 input函数是不会自动退出的,正确如下:
⑨ python 函数调用不出来,程序直接退出且不报错
return break 都可以终止函数的运行 exit(0) # 无错误退出 exit(1) # 有错误退出这两条语句一般都会加在程序的最后 因为exit是迫使系统去终止程序的运行
⑩ 怎样用python控制关闭一个.exe的程序
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
@Date:
@author
"""
__author__ = 'Sla'
__version__ = '1.0.0'
import pprint
import os
import time
import subprocess
def processkill():
_p = subprocess.Popen("C:\WINDOWS\system32\cmd.exe")
_pid = _p.pid
print "sub pid:", _pid
while _p.poll() == None:
time.sleep( 5 )
#kill subprocess after 5 seconds, if it is not done
if _p.poll() == None:
print "\nKill the subprocess\n"
if os.name == 'nt':
os.system('taskkill /PID %s /T /F' % _pid)
else:
os.system('kill %s' % _pid)
break
else:
if _p.returncode != 0:
print "\nsubprocess run Error"
else:
print "\nsubprocess run OK"
if __name__ == '__main__':
processkill()
——————————————————————————————————————
你可以测试一下,在5秒内打出exit就成功运行,不然就结束cmd进程