Je suis allé écrire un script système en utilisant la version 3.0 et j'ai trouvé le signal SIGALRM et l'appel signal.alarm() manquants parmi beaucoup d'autres sur le déploiement de Windows. Est-ce que quelqu'un sait pourquoi ceux-ci manquent? Voici un dir() des paquets de signal 2.5 vs 3.0 sur Windows. Je n'ai pas encore trouvé 3.0 documents mentionnant que cela a été déplacéLa bibliothèque de signaux Python 3.x pour Windows est-elle incomplète?
EDIT: les signaux font fonctionnent dans python25 sur Windows, ils ont été supprimés dans 3.0. Je devrais reformuler ma demande comme «où sont-ils allés ou se sont-ils transformés» ou est-ce que la version de Windows 3.0 n'est pas encore terminée?
python25> python
Python 2.5.1 (r251:54863, May 18 2007, 16:56:43)
[GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import signal
>>> dir(signal)
['NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD',
'SIGCONT', 'SIGEMT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT ', 'SIGIO',
'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGQUIT', 'SIGRTMAX',
'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS ', 'SIGTERM', 'SIGTRAP',
'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1', 'SIGUSR2',
'SIGVTALRM', 'SIGWINCH', 'SIGX CPU', 'SIGXFSZ', 'SIG_DFL', 'SIG_IGN',
'__doc__', '__name__', 'alarm', 'default_int_handler', 'getsignal',
'pause', 'sig nal']
>>> exit()
python25> cd ../python31
python31> python
Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import signal
>>> dir(signal)
['NSIG', 'SIGABRT', 'SIGBREAK', 'SIGFPE', 'SIGILL', 'SIGINT',
'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_IGN', '__doc__', '__ name__',
'__package__', 'default_int_handler', 'getsignal', 'set_wakeup_fd',
'signal']
>>>
Un DOHH sincère! c'était juste en train de me regarder droit dans les yeux. J'utilise Cygwin depuis si longtemps, c'est comme si ça faisait partie des fenêtres pour moi. Pour info, j'ai vérifié la mise en œuvre d'ActiveState pour voir s'ils avaient fait un effort supplémentaire et malheureusement non, ils ne l'ont pas fait. – jottos