In general, have another try block within your except block:
try:
    Attempt something here.
except:
    try:
        Attempt something else here.
    except:
        Handle the problem here.
However, this is probably not going to solve the problem in your example:
try:
    execute insert statement [example]
except: 
    execute update statement [example]
Failing to insert first will certainly invalidate your transaction (assuming you're using transactions): in this case, the update statement will fail too. (If you're not using transactions, both statements could fail too, anyway.)
You could instead instead have a look at other strategies for UPDATE/INSERT in PostgreSQL, for example this question.
Here is a full example illustrating the problem with this suggested try/except approach to upsert:
import psycopg2
conn = psycopg2.connect(database='test_so27843654')
cursor = conn.cursor()
cursor.execute("DROP TABLE IF EXISTS test_table")
cursor.execute(""" CREATE TABLE test_table (
                        id INTEGER PRIMARY KEY,
                        val TEXT
                   ) """)
cursor.execute("INSERT INTO test_table (id, val) VALUES (1, 'Test 1')")
try:
    cursor.execute("""
        INSERT INTO test_table (id, val) VALUES (1, 'Other Test 1')
    """)
    print "Inserted..."
except:
    try:
        cursor.execute("""
            UPDATE test_table SET val='Other Test 1' WHERE id=1
        """)
        print "Updated..."
    except:
        raise
conn.commit()
This will always fail with: psycopg2.InternalError: current transaction is aborted, commands ignored until end of transaction block.