我有一个脚本,我试图在终端中运行,但它的一部分在IDLE中完美工作,并且在运行时没有任何解释在终端。我发现的大多数关于类似问题的帖子似乎来自使用Python 2的终端和使用Python 3的IDLE,但是我的脚本在IDLE中为Python 2和3编写了大多数脚本运行良好,但调用此函数会终止它。random.randint()将不会在终端中运行,但在IDLE中工作
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!
然后没事。它只是停止。 我从一个树莓派3.运行此我呼吁与
python /home/pi/modules/useButtons.py
脚本一个有趣的说明(我也想上,如果可能的输入),在怠速运转时,该脚本大约需要可用CPU功率的11%,但在终端中,占用25%(一个内核的全部)。为什么需要更多的权力?