Try/excepts are a very common Python idiom. From the [Python glossary](https://docs.python.org/2.7/glossary.html):
> **EAFP**
Easier to ask for forgiveness than permission. This common Python coding style assumes the existence of valid keys or attributes and catches exceptions if the assumption proves false. This clean and fast style is characterized by the presence of many try and except statements. The technique contrasts with the LBYL style common to many other languages such as C.

It is even sometimes recommended, so I reckon its usage doesn't have to be justified.  E.g, from a week old [post in python-dev](https://mail.python.org/pipermail/python-dev/2014-April/134172.html):
> Feature discovery is better than explicit version checks:
```python
    try:
        items = mydict.iteritems()
    except AttributeError:
        items = mydict.items()
```