J'ai un script que j'essaie de lancer dans Terminal, mais une partie de celui-ci fonctionne parfaitement dans IDLE, et tue le script sans explication lors de l'exécution dans Terminal. La plupart des messages que j'ai trouvés sur des problèmes similaires semblent être de Terminal utilisant Python 2 et IDLE utilisant Python 3, mais mon script fonctionne dans IDLE pour BOTH Python 2 et 3 La plupart du script fonctionne bien, mais l'appel de cette fonction le tue .random.randint() ne fonctionne pas dans Terminal mais fonctionne dans 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
Quand je lance ce code dans IDLE, je reçois ce que j'attendais:
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Puis, quand je presse le bouton
Waiting...
Trigger Detected!
Your random number is:
2
Quand je lance ce code dans le Terminal, Je reçois:
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Ensuite, quand j'appuie sur le bouton
Waiting...
Trigger Detected!
Et puis rien. Ça s'arrête juste. Je courais ce à partir d'un Raspberry Pi 3. J'appelle le script avec
python /home/pi/modules/useButtons.py
Une note intéressante (que je voudrais également entrée sur, si possible) est que lorsqu'il est exécuté dans IDLE, ce script prend environ 11% de la puissance du processeur disponible, mais dans Terminal, il faut 25% (l'intégralité d'un noyau). Pourquoi prendrait-il plus de pouvoir?