Ctypes - control sur le int
Bonjour
J'ai une fonction C wrappé en python à l'aide des ctypes, qui a entre autre un entier comme argument, un unsigned int32 pour être précis. J'ai un soucis un peu récurrent : le type int en python s'adapte largement à tous les cas, mais quand j'arrive à l'appel de ce cette fonction, j'ai une exception : un argument de la fonction est hors limite.
Quelle est la manière la plus pythonique de tester cet argument juste avant l'appel pour éventuellement adopter un mode dégradé ?
Est-ce :
Code:
1 2
| if value<0 and value> 4294967295:
traitement ... |
ou :
Code:
1 2 3 4
| try:
valueC = ctypes.c_uint(value)
except:
... |
Ou une autre méthode que je ne connais pas encore ?
Cordialement
Emmanuel