程序一定会运行到clean()函数,但是,如果你代码写的多,你就应该知道,滥用try...except...会让你非常痛苦。例如它突然给你打印一个运行异常: 1。你根本不知道是哪里出了问题,也不知道具体出了什么问题。为了找到问题,你必须让程序把错误爆出来。但这样一来,clean()又不能正常运行了。Python退出时强制运行一段代码
有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢?
这个时候,我们就可以使用Python自带的atexit这个模块了。它的使用方法非常简单:
import atexit
@atexit.register
def clean():
print('清理环境相关的代码')
setup()
test()
这样一来,我们不需要显式调用clean函数了。无论程序正常结束,还是程序异常报错,clean函数里面的内容总会执行。
② python 脚本被意外打断之后(比如开网页但是断网了)如何从当前工作现场继续运行
如果你只想运行一次,那么不用循环几乎是不可能的。当然你用crontab之类的定时任务来处理也可以。我猜想你登陆之后应该是要做一些操作的,那么在做任何操作之前你都去判断一下登陆状态,如果session过期或者其他原因导致登陆状态失效,那么就执行重登陆。
把脚本丢在后台执行,结果输出到log,应该没什么问题的。
③ python一回车就运行,能控制吗
在idle提示符下,输入命令回车就会运行,解决办法是进入编辑窗口(File-New File),输入完所有内容,然后保存为py文件,再运行。
④ 写一个监控进程的Python脚本,如果进程挂了就自动启动这个进程,相当于一个watchdog的作用~~谢谢
如果是linux系统,为什么不用shell监控,因为python也是调用linux命令去启动进程。
⑤ 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程序运行结束后,怎么让它自动回到开头重新运行
1、首先在电脑的搜索框中输入“idle”,出现的“IDLE”就是Python的入口,如下图所示。
⑦ python 内核似乎已经死了。它将自动重新启动。
这种问题我觉得应该问问Linus本人。我只是从我的角度做点简单的解释。
1、c语言更接近底层,在处理底层问题上有更精准的调节。
2、python的执行效率不及c,虽然现在大部分pc可以忽略这个问题,但是在小的开发板层面,或者大型运算方面这个问题会被放大。
3、python为解释型语言,即使打包也是带着解释器的,这样对内核使用造成一定负担。
4、python本身是有c实现的,同时也可以说是比较年轻的编程语言,python2到3的变迁加大了人员的学习成本,这也是一种负担。
5、内核一直都是c构建,就算用python重写,那么之前的架构全部需要重写,工作量也很大,除非能够带来相对大的提升让这个时间牺牲的值得,否则我觉得重构的可能性不大。
以上是我一些个人想法。
⑧ python 3若干秒没输入则自动运行接下来的代码
raw_input该为input
python3已经废弃raw_inpurt了
⑨ 如何让python脚本在关闭的时候运行一段代码
如果是命令行的,一般是捕获ctrl-c事件吧。
import signal
import sys
def signal_handler(signal, frame):
print('You pressed Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
如果是基于GUI框架开发的,都有事件触发的,你重载事件就好了。比如Qt就有closeEvent事件
⑩ python 怎么实现一个函数return后,自动执行另外一个函数
你是指decorator吗?
def printdebug(func):
def __decorator(user):
print('enter the login')
result = func(user) #recevie the native function call result
print('exit the login')
return result #return to caller
return __decorator
@printdebug
def login(user):
print('in login:' + user)
msg = "success" if user == "jatsz" else "fail"
return msg #login with a return value
result1 = login('jatsz');
print result1 #print login result
result2 = login('candy');
print result2