单击“停止”按钮后Python中出现错误
请帮帮我,我是Python的初学者。运行代码时一切正常,但单击“停止”按钮后出现错误。我如何解决这个问题 代码:单击“停止”按钮后Python中出现错误,python,Python,请帮帮我,我是Python的初学者。运行代码时一切正常,但单击“停止”按钮后出现错误。我如何解决这个问题 代码: import RPi.GPIO as GPIO import dht11 import time import datetime # initialize GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.cleanup() # read data using pin 17 instance = dht11.DHT1
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 17
instance = dht11.DHT11(pin=17)
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(2)
>>> %Run dht11_example.py
Last valid input : 2018-07-08 02:33:31. 993427
Temperature : 30 C
Humidity : 52%
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
>>>
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
输出:
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 17
instance = dht11.DHT11(pin=17)
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(2)
>>> %Run dht11_example.py
Last valid input : 2018-07-08 02:33:31. 993427
Temperature : 30 C
Humidity : 52%
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
>>>
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
>>%运行dht11\u example.py
最后有效输入:2018-07-08 02:33:31。993427
温度:30摄氏度
湿度:52%
回溯(最近一次呼叫最后一次):
文件“path/File.py”,第21行,在
时间。睡眠(2)
键盘中断:执行中断
>>>
错误:
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 17
instance = dht11.DHT11(pin=17)
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(2)
>>> %Run dht11_example.py
Last valid input : 2018-07-08 02:33:31. 993427
Temperature : 30 C
Humidity : 52%
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
>>>
Traceback (most recent call last):
File "path/file.py", line 21, in <module>
time.sleep(2)
KeyboardInterrupt: Execution Interrupted
回溯(最近一次呼叫最后一次):
文件“path/File.py”,第21行,在
时间。睡眠(2)
键盘中断:执行中断
您刚刚误解了键盘中断的含义。引自:
键盘中断异常
当用户点击中断键时引发(通常Control-C
或Delete
)。在执行过程中,定期检查中断情况。异常继承自BaseException
,这样就不会被捕获异常的代码意外捕获,从而阻止解释器退出
在这种情况下,“中断键”只是IDE的停止按钮,而不是任何键盘快捷键。你没有犯任何错误。我确实认为您的IDE不应该显示这一点,因为它不是一个真正的错误,而且它使它看起来像一个错误。您可以安全地忽略此错误,或者按照操作并将代码包装在中,尝试使用键盘中断以外的/,使其看起来更漂亮。坦白地说,我不会,但这最终是一个意见问题。你只是误解了键盘中断的含义。引自:
键盘中断异常
当用户点击中断键时引发(通常Control-C
或Delete
)。在执行过程中,定期检查中断情况。异常继承自BaseException
,这样就不会被捕获异常的代码意外捕获,从而阻止解释器退出
在这种情况下,“中断键”只是IDE的停止按钮,而不是任何键盘快捷键。你没有犯任何错误。我确实认为您的IDE不应该显示这一点,因为它不是一个真正的错误,而且它使它看起来像一个错误。您可以安全地忽略此错误,或者按照操作并将代码包装在中,尝试使用键盘中断以外的/,使其看起来更漂亮。坦白地说,我不会,但这最终是一个意见问题。当您使用ctrl-C手动中止脚本执行时,会引发键盘中断
异常,因此这不是一个真正的错误,但您可以通过在try
块中捕获异常,从而在按下ctrl-C时优雅地退出
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 17
instance = dht11.DHT11(pin=17)
try:
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(2)
except KeyboardInterrupt:
print('Done.')
当您使用ctrl-C手动中止脚本的执行时,会引发键盘中断
异常,因此这实际上不是一个错误,但您可以通过在try
块中捕获异常,使其在按下ctrl-C时优雅地退出
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 17
instance = dht11.DHT11(pin=17)
try:
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(2)
except KeyboardInterrupt:
print('Done.')
哈,比你快了六秒钟!(不,这不是一场比赛,但仍然是。)哈,比你快了六秒!(不,这不是一场比赛,但仍然是。)