Estou migrando para Python 3.12 e finalmente preciso remover a última distutils
dependência.
Estou usando from distutils.util import strtobool
para garantir que os argumentos da linha de comando sejam argparse
de fato bool, cuidando adequadamente de NaN
vs.False
True
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument("-r", "--rebuild_all", type=lambda x: bool(strtobool(x)), default=True)
Portanto, esta questão é na verdade dupla:
- Qual seria uma alternativa ao obsoleto
strtobool
? - Alternativamente: Qual seria uma solução ainda melhor para impor que 'qualquer string' seja interpretada como
bool
, de maneira segura (por exemplo, para analisar argumentos)?