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