所以,我有这个问题,我会尽力解释:
#file1.py
def main()
if 1 != a:
print "error"
exit(1)
else:
print "sucess"
所以我把这个“file1.py”导入了“file2.py”
#file2.py
import file1
control=2
try:
while True:
if control == "2":
main("2")
print "something"
except:
print "error"
因此,出于某种原因,“python1”中的这个“exit(1)”在我调用main(“2”)之后退出了“python2”中的代码,“print‘something’”没有被解析。你知道吗
你永远无法到达
print "something"
。control
设置为2
(整数),但如果将其与"2"
(字符串)进行比较,则应改用control == 2
。你知道吗一旦修复了这个问题,甚至可以调用
main("2")
。这将抛出一个错误,因为main
函数不带参数。此外,a
未在main
中定义(如果希望a
作为函数参数,请使用def main(a):
而不是def main():
然后,如果
a
等于1
(同样是整数,而不是字符串),它将调用exit
,它退出整个python脚本,包括file2.py
中的内容,除非您碰巧捕获了SystemExit
,而您不应该这样做。这就是exit
的目的。尝试return
退出单个函数。你知道吗相关问题 更多 >
编程相关推荐