Python类型错误编码错误

Python类型错误编码错误,python,typeerror,Python,Typeerror,这个错误是什么样的字节对象是必需的而不是str tr=utf_string.encode('utf8') tr=tr.replace(r',','') 我试着把它换成了B。执行tr=utf_string.encode('utf8')后不起作用,tr是一个字节对象。bytes对象上的方法需要bytes参数,而不是str参数。因此,您需要使用b前缀将参数设置为replace(此处不需要r前缀;它不是正则表达式,并且在任何情况下都没有反斜杠): 请粘贴实际错误,不要只是模糊地描述它。欢迎使用堆栈溢出

这个错误是什么样的字节对象是必需的而不是str

tr=utf_string.encode('utf8')
tr=tr.replace(r',','')

我试着把它换成了B。执行
tr=utf_string.encode('utf8')
后不起作用,
tr
是一个
字节
对象。
bytes
对象上的方法需要
bytes
参数,而不是
str
参数。因此,您需要使用
b
前缀将参数设置为
replace
(此处不需要
r
前缀;它不是正则表达式,并且在任何情况下都没有反斜杠):


请粘贴实际错误,不要只是模糊地描述它。欢迎使用堆栈溢出。在作为旁注发布之前,请先阅读本页,如果某个东西是Unicode
str
,而不是utf-8、utf-16或utf-32
字节,那么将其称为
utf\u字符串
,这是相当误导的,事实上,这可能是让你感到困惑的部分原因。我认为在这里提到正则表达式只会让OP感到困惑。它们不是原始字符串文字的唯一用途,他可能对正则表达式一无所知……@abarnert:我提到它是为了解释为什么我删除了他们传递给
replace
的字符串上的
r
前缀;他们根本没有理由使用它,这让我怀疑他们是在使用正则表达式复制更复杂的代码。虽然原始字符串文字可以用于任何旧的原因,但使用它们的唯一常见原因是正则表达式和Windows路径(我强烈建议在这些情况下始终使用它们)。如果他们对他们一无所知,就可以说这里不需要。
tr = tr.replace(b',', b'')