Project Euler 34 # Digit Factorials in Python
There is math.factorial function. So no need to reinvent it.
Using try/except for control flow is a bad practice. It's better to explicitly check whether a list contains a value using the condition if int(digit) in factorials. It also will eliminate the code duplication in except branch.
It's even better to pre-calculate all factorials for digits from 0 to 9. Anyway, you will reuse them all a lot of times.