Here's an incredibly disgusting way to do this:
import numpy as np
num = 1.2345678
print str(num/10**(int(np.log10(num))+1)).lstrip('0')+'e{0}'.format(str((int(np.log10(num))+1)).zfill(2))
>>>.123456768e01
Here is the best way (I think):
import re
num = 1.2345678
m_ = re.search('([0-9]*)[.]([0-9]*)', str(num))
print('.{0}e+{1}'.format(m_.group(1)+m_.group(2), str(len(m_.group(1))).zfill(2)))
>>>.123456768e+01
If you convert the output string with:
float(output_string)
You will receive your original number.