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 chardetfrom 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