main
может обернуть execfile
в блок try
/ except
: 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)
или любое другое, чтобы прекратить только свое собственное выполнение . Любое другое исключение будет работать также хорошо, если между источником execfile
d и источником, выполняющим вызов execfile
, согласовано, но SystemExit
особенно подходит, так как его значение довольно ясно!