解决报错:TypeError: argument should be integer or bytes-like object, not ‘str‘
程序员文章站
2022-07-15 15:46:43
...
- 问题
num_count = contents.count('The')
对文本计算某单词出现次数时,出现报错“TypeError: argument should be integer or bytes-like object, not ‘str’” - 报错原因
count()括号内需要byte类型,而不是str类型。(为什么这里不能用str而有些count()可以?- 存疑) - 解决方法
num_count = contents.count('The'.encode())
用encode()把str类型变为byte类型。问题解决。
附1:问题截图
附2:原代码
with open('alice.txt', 'rb') as f_obj:
contents = f_obj.read()
num_count = contents.count('The')
print(num_count)
附3:修改后的代码
with open('alice.txt', 'rb') as f_obj:
contents = f_obj.read()
num_count = contents.count('The'.encode())
print(num_count)
参考:https://www.cnblogs.com/lepeCoder/p/7230570.html
上一篇: 复现cve-2020-1938
下一篇: 堆溢出处理
推荐阅读