3执行脚本时遭遇“typeerror: not all arguments converted during string formatting”
问题:
在执行时,遇到了以下错误:
typeerror: not all arguments converted during string formatting
登录后复制
同时,代码中部分涉及的操作为:
立即学习“”;
cursor.execute(tgt_sql) rows = cursor.fetchall() out_tgt.write('%s ' % rows)
登录后复制
分析:
错误提示表明,在进行字符串格式化时,并非所有参数都经过转换。这是因为在使用%操作符进行字符串格式化时,对于不同的数据类型,需要使用相应的格式符号。在该情况下,应将rows变量视为元组或数组,需要使用%s格式符号进行转换。
解决方法:
将如下所示:
out_tgt.write('%s ' % rows)
登录后复制
改为:
out_tgt.write('%s ' % (rows,))
登录后复制
通过添加括号,将rows变量强制转换为元组,从而解决了格式化问题。
示例代码:
修改后的代码如下:
cursor.execute(tgt_sql) rows = cursor.fetchall() out_tgt.write('%s ' % (rows,))
登录后复制
修改后,脚本将正常执行。
以上就是Python3 执行脚本时遭遇“TypeError: not all arguments converted during string formatting”问题:如何解决?的详细内容,更多请关注php中文网其它相关文章!