gpt4 book ai didi

python - 停止执行用 execfile 调用的脚本

转载 作者:太空狗 更新时间:2023-10-29 17:26:49 25 4
gpt4 key购买 nike

是否可以在不使用 if/else 语句的情况下中断使用 execfile 函数调用的 Python 脚本的执行?我试过 exit(),但它不允许 main.py 完成。

# main.py
print "Main starting"
execfile("script.py")
print "This should print"

# script.py
print "Script starting"
a = False

if a == False:
# Sanity checks. Script should break here
# <insert magic command>

# I'd prefer not to put an "else" here and have to indent the rest of the code
print "this should not print"
# lots of lines below

最佳答案

main 可以将 execfile 包装到 try/except block 中:sys.exit 引发 SystemExit 异常,main 可以在 except 子句中捕获该异常,以便在需要时继续正常执行。即,在 main.py 中:

try:
execfile('whatever.py')
except SystemExit:
print "sys.exit was called but I'm proceeding anyway (so there!-)."
print "so I'll print this, etc, etc"

whatever.py 可以使用sys.exit(0) 或任何终止它自己 的执行。任何其他异常都可以正常工作,只要源代码被 execfiled 和执行 execfile 调用的源代码同意——但是 SystemExit 特别适合,意思很明确!

关于python - 停止执行用 execfile 调用的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com