exit(0)表示干净的出口没有任何错误/问题
exit(1)意味着有一些问题/错误/问题,这就是为什么该程序正在退出。
这不是Python特定的,而且很常见。 一个非零退出代码被视为一个exception退出,有时,错误代码指出了问题所在。 零错误代码表示成功退出。
这对于其他程序,shell,调用者等来说很有用,知道你的程序发生了什么,并据此进行 *** 作。
这决定了程序在结束运行时的退出状态 (一般为0,成功为1,错误为1)。
这不是Python独有的,确切的效果取决于你的 *** 作系统和程序的调用方式(尽pipe99%的时间,如果你只是运行Python脚本,没关系)。
包括Python在内的所有C程序的标准约定用于exit(0)表示成功, exit(1)或任何其他非零值(范围在1到255之间)表示失败。 任何超出范围0..255的值都将被视为模256(退出状态存储在一个8位值中)。 有时,这将被视为签名(所以你可能会看到-128,-127等),但更通常它被视为无符号。
这个状态对于调用Python的代码是可用的。 这个惯例适用于不同平台,尽pipe非零退出状态的含义可以在不同的平台上有所不同。
传递给exit()函数的数字就是您的程序的返回代码,它被提供给 *** 作系统。 从程序的angular度来看,没有什么区别:执行将在两种情况下结束,并且提供给函数的值将被赋予给 *** 作系统。 但是一些工具和脚本考虑了程序的退出代码。 大多数工具在成功时返回0,非零表示出错。
所以,如果你的程序是从一个脚本,一个自动化的工具或者其他考虑了返回代码的软件(比如IDE)运行的,那么你必须小心你返回的结果。
如果有疑问,只需返回0表示一切正常。
exit(0) :这会导致程序退出并成功终止。
exit(1) :这会导致程序以系统特定的含义退出。
在许多系统上, exit(1)表示某种失败,但是没有保证。
我记得,C标准只承认三个标准退出值:
EXIT_SUCCESS – 成功终止
EXIT_FAILURE – 终止不成功
0 – 与EXIT_SUCCESS相同
线程只执行一次……让我来猜一猜。
你可能会认为创建一个线程去执行某个动作就完事了?
一段代码不管是在主线程里还是在新建的线程里,它都是按代码本身的规则那么执行的,该循环就循环,该结束就结束。
所以,我们建立一个线程去执行某个动作,主要就是让这个动作的执行不影响主程的执行,不要因为它导致主程序的某环节等待这个动作的结果。
举例来说,一个定时3秒去读一下某个文件,总不能做个循环,读一下文件,然后sleep3秒吧,那除了这个,什么也干不了,基本都是在【等待3秒】这里耗着了。解决办法就是做个线程去完成【读某个文件】,然后这个事完了之后、前再建一个同样的线程让它三秒后执行。
看下图:
这个sort_loop就是这样干的:
【红框2】就是主要的工作内容(对self.data进行收缩)
如果简简单单的就这,那它就执行一次就完事了,哪怕你把sort_loop放到新线程里,也是一样。
要在sort_loop里再新建一个线程,新线程还是执行sort_loop,于是就是这样的:
A把桌子擦了擦,把抹布塞给了B;
B把桌子擦了擦,把抹布塞给了C
C把桌子擦了擦,把抹布塞给了D...
这才构成一个线程循环。
程序运行结束之后就会退出可以在程序最后加一个input() 等待输入
或者
import os
os.system("pause>nul")
调用pause指令
这样就可以在程序运行结束后看到运行结果
再或者可以使用IDLE来运行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)