【发布时间】:2017-07-30 01:36:48
【问题描述】:
我有一个要在终端中运行的脚本,但它的一部分在 IDLE 中运行良好,并且在终端中运行时会在没有任何解释的情况下终止脚本。我发现的大多数关于类似问题的帖子似乎来自使用 Python 2 的终端和使用 Python 3 的 IDLE,但我的脚本在 IDLE 中适用于 Python 2 和 3 大多数脚本运行良好,但调用此函数会杀死它。
import random
import time
def gen_rndNum():
rndNum = random.randint(1,10)
print ("Your random number is:")
print (rndNum)
while 1:
print ('Waiting...')
if some_condition: # I know some_condition is not defined. It is a placeholder for the actual trigger
print ("Trigger Detected!")
gen_rndNum()
else:
#do some more stuff
time.sleep(.25) #Don't use 100% of CPU
当我在 IDLE 中运行这段代码时,我得到了我期望的结果:
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
然后当我按下按钮时
Waiting...
Trigger Detected!
Your random number is:
2
当我在终端中运行此代码时,我得到:
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
然后当我按下按钮时
Waiting...
Trigger Detected!
然后什么都没有。它只是停止。 我从 Raspberry Pi 3 运行它。我用
调用脚本python /home/pi/modules/useButtons.py
一个有趣的附注(如果可能的话,我也想输入)是,当在 IDLE 中运行时,此脚本会占用大约 11% 的可用 CPU 资源,但在终端中,它会占用 25%(一个核)。为什么需要更多的功率?
【问题讨论】:
标签: terminal raspberry-pi python-idle