a=''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(32))
secret = base64.b32decode(a)Traceback (most recent call last):
File "python", line 11, in <module>
TypeError: Non-base32 digit found string.digits содержит символы 0, 1, 8, 9 недопустимые в кодировке Base32.0, 1 можно побороться с помощью передачи True третьим аргументом в base64.b32decode (но частоты символов на выходе станут неравномерно распределенными при равномерном распределении рандома на входе).8, 9 все равно мешают. Проще задать вручную набор из оставшихся шести цифр.