python中open的“r”和“rb”的区别,encoding

  • r是读取人工书写的数据,书写的时候是什么样子,读出来就是什么样。

  • rb是读取二进制文件,非人工书写的数据如.jpeg等这些。

  • 另外encoding可以指定解码格式,utf-8是现在的主流编码方式,如果没有指定encoding 的方式那么根据python版本的不同会有不同的解码方式,Python3中是utf-8,而python2中是ascii。

注:
当运行下面的代码时出错:

STOP_WORDS = set([w.strip() for w in open("D:\\data\\ebook\\stopwords.txt").readlines()])

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 91: illegal multibyte sequence 问题的解决方法是设定encoding,因为文本文档采用的是gbk编码,所以应该将它转换成python能识别的编码。

STOP_WORDS = set([w.strip() for w in open("D:\\data\\ebook\\stopwords.txt",encoding='utf-8').readlines()])

你可能感兴趣的:(python)