TypeError: not enough arguments for format string
在往mysql中插入记录时,遇到这个问题,代码层面无错误,各参数无错位,查了半天,才发现,用户输入那边,一个字符串型的参数,含有“%”,这个“%”造成python认为此字符串有format倾向,于是酿成大错。
我的修改是将每一个有可能包涵“%”的字符串都进行修复(
str.replace('%','%%'))但是,这样涉及到太大的工作量,不知有何办法可以减少工作量?
RE
如果本来字符串包含‘%%’这种格式,你的方法岂不是改成了‘%%%%’
re.sub(r'%(?!%)', '%%', strin)
解决方案2:RE
如果本来字符串包含‘%%’这种格式,你的方法岂不是改成了‘%%%%’
re.sub(r'%(?!%)', '%%', strin)