似乎python支持许多不同的命令来停止脚本执行.
我发现的选择是: quit()
,exit()
,sys.exit()
,os._exit()
我错过了吗?他们之间有什么区别?你什么时候用?
我想知道如何退出Python而不在输出上有回溯转储.
我仍然希望能够返回错误代码,但我不想显示回溯日志.
我希望能够在exit(number)
没有跟踪的情况下退出,但是在异常(不是退出)的情况下,我想要跟踪.
我正在测试一个包含以下代码片段的 Python 模块。
r, w = os.pipe()
pid = os.fork()
if pid:
os.close(w) # use os.close() to close a file descriptor
r = os.fdopen(r) # turn r into a file object
# read serialized object from ``r`` and persists onto storage medium
self.ofs.put_stream(bucket, label, r, metadata)
os.waitpid(pid, 0) # make sure the child process gets cleaned up
else:
os.close(r)
w = os.fdopen(w, 'w')
# serialize object onto ``w``
pickle.dump(obj, w)
w.close()
sys.exit(0)
return result
Run Code Online (Sandbox Code Playgroud)
所有测试都通过了,但是有困难sys.exit(0)
。执行时sys.exit(0)
,它会引发 …
我是Python的新手,在以下情况下想了解sys.exit()的行为。
主线程调用sys.exit(),但是还有另一个非守护进程线程已经无限期地等待某个锁。
我已经在我的程序中对此进行了测试,并且看起来整个程序没有退出。这是预期的吗?我不确定非守护进程线程是否正在处理SystemExit异常,因为该异常位于第三方库中。
在此先感谢您的帮助。