为什么在Python3中使用“except”是一个语法错误?
我试图用Python 3编写一个简单的程序,根据一天中的时间打开和关闭灯光 在尝试和使用时,我不断地遇到语法错误,除了键盘中断:在while循环中。这就是错误: 除键盘中断外: ^ SyntaxError:无效语法 由于我已经通过在线文档对语法进行了双重检查,我不知道我做错了什么,我想我在这里缺少了一些理解 以下是完整的代码供参考:为什么在Python3中使用“except”是一个语法错误?,python,syntax,except,Python,Syntax,Except,我试图用Python 3编写一个简单的程序,根据一天中的时间打开和关闭灯光 在尝试和使用时,我不断地遇到语法错误,除了键盘中断:在while循环中。这就是错误: 除键盘中断外: ^ SyntaxError:无效语法 由于我已经通过在线文档对语法进行了双重检查,我不知道我做错了什么,我想我在这里缺少了一些理解 以下是完整的代码供参考: #!/usr/bin/python import time import datetime TimeStart = datetime.time(17, 0,
#!/usr/bin/python
import time
import datetime
TimeStart = datetime.time(17, 0, 0)
TimeEnd = datetime.time(18, 30, 0)
def onoff():
while True:
if TimeEnd > datetime.datetime.now().time() and TimeStart < datetime.datetime.now().time():
print("Pin 18 High")
else:
print("Pin 18 Low")
except KeyboardInterrupt:
pass
print("Error..... Quiting.....")
raise
sys.exit()
time.sleep(30)
onoff()
不能在try之外使用except语句:。。。除了:。。。代码块
因此,您可以将代码重新表述为
while True:
try:
if TimeEnd > datetime.datetime.now().time() and TimeStart < datetime.datetime.now().time() :
print ("Pin 18 High")
else:
print ("Pin 18 Low")
except KeyboardInterrupt:
pass
print("Error..... Quiting.....")
raise
sys.exit()
我没有试过,但基本上
用try子句包装if语句,然后
任何键盘中断都将被except语句捕获。
Exception必须跟在try块后面,Exception属于try,而不是if。看这里,请做点调查。除此之外,您不能将其添加到其他语句中。这是一个语法错误,因为只有在有try:block first将其连接到时才能使用except。