def f(val):
try:
a=input()
val+=int(a)
return val
except TypeError:
print('error')
#вот здесь хочу что бы прога завершилась
#код продолжается дальше
def f(val):
try:
a=input()
val+=int(a)
return val
except TypeError:
print('error')
#вот здесь хочу что бы прога завершилась
#код продолжается дальше
import sys
sys.exit()
doza_andЯ бы так не делал - райс это падение, а не завершение.
логичнее raise - получите traceback с дополнительным пояснением причин падения
try:
...
except Ecxeption, e:
# logging e
sys.exit(1)
Liut.py
а что делать, если нужно выполнять и выполнять модуль, до тех пор пока юзер не наиграется и на вопрос “выйти?” не ответит “Да”?
Пыталась так (mymodule запускается из модуля startmodule.py)
#!/usr/bin/env python3
import sys
ans = 'no'
while ans != 'yes':
try:
del sys.modules['mod']
except KeyError:
pass
import mod
ans = input('выйти? (yes/no) ')
print('Bye')
print('Hello')
[guest@localhost tests]$ ./t.py
Hello
выйти? (yes/no) no
Hello
выйти? (yes/no) no
Hello
выйти? (yes/no) no
Hello
выйти? (yes/no) yes
Bye
[guest@localhost tests]$