encoding = chardet.detect(fileinfo.filename)[encoding],报错Expected object of type bytes or bytearray, got: <class 'str'>
时间: 2024-03-02 10:51:25 浏览: 113
判断文件的字符编码
这个错误提示告诉我们,`fileinfo.filename` 应该是一个字节序列(bytes 或 bytearray),但它实际上是字符串(str)。因此,需要将字符串转换为字节序列,可以使用字符串的 `encode` 方法来实现。例如,将字符串转换为 UTF-8 编码的字节序列可以这样写:`fileinfo.filename.encode('utf-8')`。修改代码如下:
```python
encoding = chardet.detect(fileinfo.filename.encode('utf-8'))['encoding']
```
这样就可以避免这个错误了。
阅读全文