python2 转码错误问题

菜鸟新手,使用的是python2.7,转码一直报错AttributeError: 'file' object has no attribute 'decode'
转码代码是:
import chardet
from sys import argv
script, filename = argv
ready = open(filename, "r+")
print chardet.detect(ready.read())
print (ready.decode('windos-1252')).encode('unicode')

图片描述

一直报错,unicode改成 utf- 8和 gbk也不行,请问各位大神这是哪里出问题了

回答:

ready是file,
ready.read()是文件内容.

import chardet

from sys import argv

script, filename = argv

ready = open(filename, "r+")

filedata = ready.read()

ready.close()

print chardet.detect(filedata)

print (filedata.decode('windos-1252'))

decode之后就是uniccode,不要尝试encode成为unicode

chardet判断的可能性只有不到30%,文件可能比较小.结果不准确.

回答:

ready是文件对象,文件对象没有encode方法,你需要的是把文件内容读出来,赋予一个变量然后再进行编码猜测。30%的可能行太小了, 的确不是很准确。

以上是 python2 转码错误问题 的全部内容, 来源链接: utcz.com/a/160409.html

回到顶部