1.%s是什么
%s,表示格式化一个对象为字符,常用使用语句示例如下:
username = "happygirl"
print("hi %s, hello world!" % (username))
2.python中的%
在python中%是一个格式化字符,如果需要输出%则需要写成%%
3.模糊查询like
sql模糊查询like包括%,如果同时还需要使用%s,此时模糊查询应写成like '%%%s%%',依然会报错:TypeError: not enough arguments for format string,因为python在执行sql语句的时候同样需要格式化%,即使用%%代替%,所以正确使用示例如下:
username = "happygirl"
sqlstr = '''
select * from table
where username like '%%%%%s%%%%'
''' % (username)
print(sqlstr)
至此完美解决问题