关于Python的TypeError not all arguments converted during string formatting

前言

在把yolov3的cfg文件转换为model_defs时,我忘记把str类型转换成int了,导致了一个错误,在此记录下来。

正文

如上图所示,‘32‘%2就是错误发生的地方。

我以为我拿到的是一个int类型的32,想判断它是偶数还是奇数。

实际上我拿到的是一个str类型的‘32‘,这时python的解释器并没有把%理解成取余,而是理解成了这种东西。

我不知道“这种东西”的定义,但知道其用法和语法,其语法是这样的:

name = ‘cxy‘
print(‘%s is handsome!‘ % name)

也就是说,解释器把%理解成了上面代码中print语句中的第二个%,因此出现了这个TypeError。

关于该TypeError,也有其他的原因,如https://blog.csdn.net/lvsehaiyang1993/article/details/80909984



作者:@臭咸鱼

转载请注明出处:https://www.cnblogs.com/chouxianyu/

欢迎讨论和交流!



关于Python的TypeError not all arguments converted during string formatting

原文地址:https://www.cnblogs.com/chouxianyu/p/12630760.html

时间: 2024-10-10 16:48:29

关于Python的TypeError not all arguments converted during string formatting的相关文章

TypeError: not all arguments converted during string formatting

print ("So, you're 5r old, %r tall and %r heavy." % (age, height, weight)) print ("So, you're %r old, %r tall and %r heavy." % (age, height, weight)) 说明前后%和后面的参数数量不对应.红色就是错误的地方.

TypeError not all arguments converted during string formatt

1.错误描述 >>> a=1; >>> b=1; >>> for i in range(1,21): print('121d %121d' % (a,b)); if(i%3==0): a=a+b ; b=a+b; Traceback (most recent call last): File "<pyshell#23>", line 2, in <module> print('121d %121d' % (a

Python-TypeError: not all arguments converted during string formatting

Where? 运行Python程序,报错出现在这一行 return "Unknow Object of %s" % value Why? %s 表示把 value变量装换为字符串,然而value值是Python元组,Python中元组不能直接通过%s 和 % 对其格式化,则报错 Way? 使用 format 或 format_map 代替 % 进行格式化字符串 出错代码 def use_type(value): if type(value) == int: return "i

Python TypeError: not enough arguments for format string

今天使用mysqldb执行query语句的时候,在执行这条语句的时候: select PROJ, DATE_FORMAT(MAX(DATE),'%Y-%m-%') AS MAXDATE, DATE_FORMAT(MIN(DATE),'%Y-%m-%d') AS MINDATE FROM (SELECT resource.PROJ,`day`.DATE FROM resource,`day` where resource.MAC=`day`.MAC ORDER BY PROJ) AS PROJSE

TypeError: not enough arguments for format string

Error msg: --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.6/logging/__init__.py", line 993, in emit msg = self.format(record) File "/usr/lib/python3.6/logging/__init__.py", line 839, in format return fm

Python Theano TypeError: Cannot convert Type TensorType(float64, vector) (of Variable Subtensor{int64:int64:}.0) into Type TensorType(float64, matrix)

参考: https://groups.google.com/forum/#!topic/theano-users/teA-07wOFpE 这个问题出现的原因是,我在读文件的时候,应该Train_X读成matrix(rows * dimensions),Train_Y读成vector(因为只有label一维) 因为才接触python第一天,所以误以为column=1的matrix就是vector(汗汗汗!) 话不多说,直接贴代码: train_X_matrix = numpy.empty((tra

python报&quot;TypeError: object of type &#39;Greenlet&#39; has no len()&quot;

TypeError: object of type 'Greenlet' has no len() 问题代码: gevent.joinall( gevent.spawn(func1), gevent.spawn(func2), gevent.spawn(func3), ) 应该为: gevent.joinall([ gevent.spawn(func1), gevent.spawn(func2), gevent.spawn(func3), ]) 总结:gevent.joinall()的参数应该为

Python Socket TypeError: a bytes-like object is required, not &#39;str&#39; 错误提示

在学习socket编程时,遇到代码返回如下错误: TypeError: a bytes-like object is required, not 'str' 发现这里python3.5和Python2.7在套接字返回值解码上有区别. 首先可以明确,在python3中默认的编码方式是unicode.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),因此 utf-16就是现在最常用的unicode版本. 不过考虑到utf8省空间,在文件里存的

statsmodels.tsa.arima_model预测时报错TypeError: int() argument must be a string, a bytes-like object or a number, not &#39;Timestamp&#39;

在 python 中用 statsmodels创建 ARIMA 模型进行预测时间序列: import pandas as pd import statsmodels.api as sm df = pd.read_csv("data.csv", index_col=0, parse_dates=True) mod = sm.tsa.statespace.SARIMAX(df['price'], enforce_stationarity=False, enforce_invertibili