¿Cómo uso los parámetros SQL con python?

Estoy usando python 2.7 y pymssql 1.9.908 .

En .net para consultar la base de datos haría algo como esto:

using (SqlCommand com = new SqlCommand("select * from Customer where CustomerId = @CustomerId", connection)) { com.Parameters.AddWithValue("@CustomerID", CustomerID); //Do something with the command } 

Estoy tratando de averiguar cuál es el equivalente para python y más particularmente pymssql. Me doy cuenta de que solo podría hacer un formato de cadena, sin embargo, eso no parece manejar el escape correctamente como lo hace un parámetro (podría estar equivocado).

¿Cómo hago esto en python?

Después de crear un objeto de conexión db :

 cursor = db.execute('SELECT * FROM Customer WHERE CustomerID = %s', [customer_id]) 

luego use cualquiera de los métodos de fetch... del objeto de cursor resultante.

No se deje engañar por la parte %s : esto NO es un formato de cadena, es la sustitución de parámetros (diferentes módulos API de DB utilizan una syntax diferente para la sustitución de parámetros – pymssql simplemente usa el desafortunado %s ! -).