MySQLdbでcursor.executeをしたときに%sの可変部分をどう処理しているのか調べた。 どうも、connection.literalというメソッドがあるようだ。 [MySQL-python-1.2.3c1/MySQLdb/cursors.py] def execute(self, query, args=None): ''' 中略 ''' if args is not None: query = query % db.literal(args) try: r = self._query(query) 赤字部分のとおり、SQL文の文字列を%している。 # -*- coding: utf-8 -*- import MySQLdb from MySQLdb.cursors import DictCursor def get_connection(connect_info): '''