random.randint() 不会在终端中 运行 但在 IDLE 中有效
random.randint() won't run in Terminal but works in IDLE
我有一个脚本,我试图在终端中 运行,但它的一部分在 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
一个有趣的旁注(如果可能的话,我也想输入)是当 运行 处于空闲状态时,此脚本占用大约 11% 的可用 CPU 功率,但在终端中, 它占 25%(一个核心的整体)。为什么会消耗更多电量?
我找到问题了!尽管我的脚本没有名称冲突,但我有一个名为 "random.py" 的不同脚本(我早就忘记了)。我的脚本试图在 CLI 中 运行 时导入它,但 IDLE 导入了正确的脚本。确保您永远不会使用内置模块的名称作为脚本名称,即使您不在当前脚本中使用该模块也是如此。以后会出问题的!
我有一个脚本,我试图在终端中 运行,但它的一部分在 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
一个有趣的旁注(如果可能的话,我也想输入)是当 运行 处于空闲状态时,此脚本占用大约 11% 的可用 CPU 功率,但在终端中, 它占 25%(一个核心的整体)。为什么会消耗更多电量?
我找到问题了!尽管我的脚本没有名称冲突,但我有一个名为 "random.py" 的不同脚本(我早就忘记了)。我的脚本试图在 CLI 中 运行 时导入它,但 IDLE 导入了正确的脚本。确保您永远不会使用内置模块的名称作为脚本名称,即使您不在当前脚本中使用该模块也是如此。以后会出问题的!