Cambia tu SQL
sql = 'UPDATE '+table+' SET {} WHERE cart_SN = '.format(', '.join('{}=%s'.format(k) for k in cart))+sn
Porque en tu caso
sql = 'UPDATE '+table+' SET {} WHERE cart_SN = '+sn+' '.format(', '.join('{}=%s'.format(k) for k in cart))
el formato se aplica a ' '.fomat()
cadena vacía no la cadena principal