Convertir Python chaînes en flotte explicitement à l'aide de la virgule ou le point comme séparateurs

Comment puis-je indiquer explicitement python pour lire un nombre décimal en utilisant le point ou la virgule comme séparateur décimal? Je ne connais pas les paramètres de localisation de l'ordinateur et exécuter mon script, et cela ne devrait pas influencer ma demande, je veux seulement dire:

f = read_float_with_point("3.14")

ou

f = read_float_with_comma("3,14")

Je pense que l'écriture

def read_float_with_comma(num):
    return float(num.replace(",", ".")

n'est pas sûr, parce que je ne connais pas les paramètres régionaux!

Qu'est-ce que 1,000: un ou mille?
exactement, ça dépend de la locale.

OriginalL'auteur diegogb | 2012-11-13