2010-03-11 5 views
5

Existe-t-il un moyen de tester, en utilisant Python, pendant combien de temps le système a été inactif sur Mac? Ou, à défaut, même si le système est actuellement inactif?Test de l'inactivité en Python sur Mac

Réponse

En utilisant les informations de la solution retenue, ici est une fonction laid, mais fonctionnel et assez efficace pour le travail:

from subprocess import * 

def idleTime(): 
    '''Return idle time in seconds''' 

    # Get the output from 
    # ioreg -c IOHIDSystem 
    s = Popen(["ioreg", "-c", "IOHIDSystem"], stdout=PIPE).communicate()[0] 
    lines = s.split('\n') 

    raw_line = '' 
    for line in lines: 
     if line.find('HIDIdleTime') > 0: 
      raw_line = line 
      break 

    nano_seconds = long(raw_line.split('=')[-1]) 
    seconds = nano_seconds/10**9 
    return seconds 
+0

Que signifie "inactif"? Comment le définissez-vous? –

+0

Tout ce que le système définit comme "inactif". C'est à dire. ce que le système considère comme temps d'inactivité avant d'activer l'économiseur d'écran ou l'économiseur d'énergie. Je suppose qu'aucun mouvement de souris ou de clavier ne serait bien. –

Répondre

0

Untested (pour l'instant), mais according to this thread vous pourriez analyser la sortie du

ioreg -c IOHIDSystem

+0

Ok, ça marche. Poster ma solution dans la question d'origine Merci pour le plomb. –

Questions connexes