关于本章节可能会有点小纠结的点
Topic source1. 如果想第二次read读取“全文”,那必须先让“指针”回到文章初始:
f.seek(0) #改变文件当前的位置到“开头”print(f.read())
2. 你用gbk反而出现乱码的原因是因为新建的txt默认是UTF-8,如果你新建的(或者手动修改的编码格式)就是GBK,那肯定不会乱码。
- 1
1. 如果想第二次read读取“全文”,那必须先让“指针”回到文章初始:
f.seek(0) #改变文件当前的位置到“开头”print(f.read())
2. 你用gbk反而出现乱码的原因是因为新建的txt默认是UTF-8,如果你新建的(或者手动修改的编码格式)就是GBK,那肯定不会乱码。
雨鸢梦
关于
read(size)
方法,实际写代码的时候,把size替换成你想要读取的字节数而且,当第一次调用完.read()方法后,再次调用时会从上次读取结束的地方开始读
我的txt文件里面的内容是
经过上面的代码输出后,结果为
第一次调用的是read(2)正好是前两个字节,也就是12,然后第二行的read输出接下来的内容
另外,如果你想测试廖老师的这行代码f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
请先知道一件事情,win10的txt文件编码格式是utf-8,如果你用gbk反而会输出乱码
这样输出的结果是正常的文字
#别问我为什么要提一句,看我txt文件名是gbk就知道了