我试图让我的python脚本完全从函数内部退出。调用该函数来读取文件。如果文件不存在id就像杀死一切。我曾尝试sys.exit()
,os_exit()
。这些都没有杀死整个程序,它们似乎只是杀死它们所包含的功能。有没有办法完全杀死程序?
这是一个简单的例子来说明
def readf(file)
try:
slist = open(file).readlines()
return [s.replace('\n', '') for s in slist]
except IOError as e:
if e.errno == '2':
print "No Such file or directory: " + servers
sys.exit()#want to kill everything running in main
else:
print e
if __name__ == "__main__":
#other functions being called at the same time as readf
returnd = readf(file.txt)
答案 0 :(得分:3)
你要么停止整个节目,要么就是不要。
我很确定if e.errno == '2':
错误,应该是if e.errno == 2:
将数字与字符串进行比较几乎总是不正确的。
Python也是敏感的,它在第一次迭代时有各种语法错误和缩进问题,如果问题中的内容准确地代表了实际执行的代码,那么就无法信任,问题中的代码仍然存在没有正确缩进以按需执行。