私はターミナルで実行しようとしているスクリプトを持っていますが、その一部はIDLEで完璧に動作し、ターミナルで。私が似たような問題について見つけた記事のほとんどは、Python 2とIDLEのPython 3を使った端末からのものですが、私のスクリプトは両方とも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!
そして、何もしません。それはただ止まる。 は私が面白いサイドノート(私も、可能な場合、上の入力たいと思いますが)IDLEで実行した場合、このスクリプトを約を取ることである
python /home/pi/modules/useButtons.py
でスクリプトを呼び出すラズベリーパイ3からこれを実行しています利用可能なCPUパワーの11%ですが、Terminalでは25%(1つのコア全体)が必要です。なぜそれはより多くの力を取るだろうか?