С gmpy :
>>> import gmpy
>>> thefraction = gmpy.mpq(1, 7)
>>> hiprecfloat = gmpy.mpf(thefraction, 256)
>>> hiprecfloat.digits(10, 50, -10, 10)
'0.14285714285714285714285714285714285714285714285714'
>>>
Вы не можете сделать это с обычными числами с плавающей точкой - им просто не хватает точности для 50 цифр! Я предполагаю, что есть способ сделать это (в версии 2.6 или лучше) с fractions.Fraction
, но я не знаком ни с каким способом отформатировать его иначе, чем '1/7'
(не очень полезно в вашем случае! -).