Salut
J'ai un problème avec bool et int, je m'explique, j'ai fait une fonction pour ajouter des nombre de type (int ou str) dans un fichier texte comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
def add_nbr(nbr):
    if isinstance(nbr,'int') or isinstance(nbr,'str'):
       nbr_file = open('M:\\nbrfile.txt','w')
       nbr_file.write(nbr)
       nbr_file.close()
       return True
    else:
       raise "Type argument incorrect %s" % (type(nbr))
Execution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
>>>add_nbr(5)           # :P 
True
Mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
>>>add_nbr(True)                 # :( - False =0 et True = 1 logique
True
que faire?
J'ai fait une fonction qui me donne le type de la variable sous forme de 'int', 'str' et 'bool'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
def typeof(var):
    type_var = type(var)
    split_type_var = str(type_var).split("'")
    return split_type_var[1]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
if typeof(nbr) not in ['str','int']:
               raise "Type argument invalide (int ou str), erreur %s" % (type(nbr))
Existe-il un autre moyen pour faire ça?

Merci
Z