Вот как я это делаю:
str(1).zfill(len(str(total)))
Обычно zfill принимает число начальных нулей, которое вы хотите добавить, поэтому легко взять самое большое число, превратить его в строку и получить длину, например:
Python 3.6.5 (default, May 11 2018, 04:00:52)
[GCC 8.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> total = 100
>>> print(str(1).zfill(len(str(total))))
001
>>> total = 1000
>>> print(str(1).zfill(len(str(total))))
0001
>>> total = 10000
>>> print(str(1).zfill(len(str(total))))
00001
>>>