python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案

Posted xinxi2010

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案相关的知识,希望对你有一定的参考价值。

一、使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。

二、需要导入import os

三、下面是逐行读取文件内容的三种方法:

1、第一种方法:

[python] view plain copy

  

技术图片
f = open("foo.txt")               # 返回一个文件对象   
line = f.readline()               # 调用文件的 readline()方法   
while line:   
    print line,                   # 后面跟 ‘,‘ 将忽略换行符   
    #print(line, end = ‘‘)       # 在 Python 3 中使用   
    line = f.readline()   
   
f.close()
技术图片

 


2、第二种方法:
  与第3种方法对比, 并非一次性将全部的文件内容载入到内存里,而是在迭代的时候,循环到哪一行才将哪一行读入内存。这里涉及到一个新的概念-迭代器。
  第二种方法是文本文件读取的最佳选择,它简单,且对任意大小的文件都有效,因为他不会一次性把整个文件都载入到内存里,相反第三种方法存在内存压力过大的问题。
for line in open("foo.txt"):   
    print line,    

 


3、第三种方法:
  
f = open("c:1.txt","r")   
lines = f.readlines()      #读取全部内容 ,并以列表方式返回  
for line in lines   
    print line 

 

四、一次性读取整个文件内容:

 

  

file_object = open(thefile.txt)  
try:  
     all_the_text = file_object.read()  
finally:  
     file_object.close()

 


五、区别对待读取文本 和 二进制:

1、如果是读取文本

  
    读文本文件  
    input = open(data‘, r)  
    #第二个参数默认为r  
    input = open(data‘)  

 


2、如果是读取二进制
 
  
input = open(data‘, rb‘)  

 

 读固定字节

 

chunk = input.read(100)

 

———————

以上是关于python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Python3基础 file write+open 对不存在的txt进行创建与写入

Python3基础 文件write 与 open(w) 对一个不存在的txt进行创建与写入

文件操作

1.Python3关于文件的操作

python3 文件操作

python3 读取文件-2