def decorated_function(*args, **kwargs): newargs = [] #先转义参数,再执行方法 for arg in args: #字符串,包括中文 if type(arg) is types.StringType or type(arg) is types.UnicodeType: newargs.append(MySQLdb.escape_string(arg)) #字典 elif isinstance(arg, dict): newargs.append(MySQLdb.escape_dict(arg, { types.StringType: _str_escape, types.UnicodeType: _str_escape, types.IntType: _no_escape, types.FloatType: _no_escape })) #其他类型不转义 else: newargs.append(arg) newargs = tuple(newargs) func = f(*newargs, **kwargs) return func
def decorated_function(*args, **kwargs): newargs = [] #先转义参数,再执行方法 for arg in args: #字符串,包括中文 if type(arg) is types.StringType or type(arg) is types.UnicodeType: newargs.append(MySQLdb.escape_string(arg)) #字典 elif isinstance(arg, dict): newargs.append( MySQLdb.escape_dict( arg, { types.StringType: _str_escape, types.UnicodeType: _str_escape, types.IntType: _no_escape, types.FloatType: _no_escape })) #其他类型不转义 else: newargs.append(arg) newargs = tuple(newargs) func = f(*newargs, **kwargs) return func