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、第三种方法:

  通过readlines方法,会首先一次性把文件载入到行字符串列表中,然后再对这个字符串列表进行迭代;

  

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问题解决方案

原文地址:https://www.cnblogs.com/xinxihua/p/12609020.html

时间: 2024-10-11 10:50:26

python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案的相关文章

python3安装xadmin出现 UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444: illegal multibyte sequence

python3的环境安装xadmin时,直接pip install xadmin出现 Downloading xadmin-0.6.1.tar.gz (1.0MB) 100% |████████████████████████████████| 1.0MB 547kB/s Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>&qu

python3.4 UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xff in position

python3.4 UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 实用python的时候 打开一个csv的文件出现一下错误. 然后百度了一下,找到了对应的解决方案 1 with open('History.csv','r',encoding='utf-8') as f: 在后面加上encoding=utf-8即可 python3.4 UnicodeDecodeError: 'gbk' codec can't

解决python3读写中文txt时UnicodeDecodeError : &#39;ascii&#39; codec can&#39;t decode byte 0xc4 in position 5595: ordinal not in range(128) on line 0的问题

今天使用python3读写含有中文的txt时突然报了如下错误,系统是MAC OS,iDE是pycharm: UnicodeDecodeError : 'ascii' codec can't decode byte 0xc4 in position 5595: ordinal not in range(128) on line 0 按理说python3的默认编码是unicode,不应该出现这种错误,排查以后发现问题及解决方案如下: import locale print(locale.getpre

启动运行python3时 UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xa2 in position 170: illegal multibyte sequence

重现 在cmd中输入Python,运行后,出现以下错误: Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. Failed calling

UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xae in position 9: illegal multibyte sequence

上面是遇到的错误,本来想完成读文件,再写入另一文件的.但是在 fp.read() 时,一直遇到上面的错误,经过各种百度,google, 还有神奇的 stackoverflow 才知道是字符流的问题. 知道问题所在,还是没有解决,又苦苦搜索,终于在 stackoverflow 上找到灵感,可以把 open 的方式变为 二进制,也就是下面代码里的 open(filename,'rb'), 这下好了,至少后面的read() 可以通过. 再之后就产生了以下代码,发现问题的路真心不好走,在此mark 下.

python 读取文件时报错UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0x80 in position 205: illegal multibyte sequence

python读写txt文件转化成excel文件 python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence" 解决办法1. FILE_OBJECT= open('order.log','r', encoding='UTF-8') 解决办法2. FILE_OBJECT= open('order.log','rb') pyth

UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xbc in position 21: illegal multibyte sequence

Save the txt with UTF format and then open the file with f1 = open(path, encoding = 'utf') UnicodeDecodeError: 'gbk' codec can't decode byte 0xbc in position 21: illegal multibyte sequence

解决 python 中读写文件的终极方案 UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0x9d in position 1270: illega

UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illegal multibyte sequence 上面是遇到的错误,本来想完成读文件,再写入另一文件的.但是在 fp.read() 时,一直遇到上面的错误,经过各种百度,google, 还有神奇的 stackoverflow 才知道是字符流的问题. 知道问题所在,还是没有解决,又苦苦搜索,终于在 stackoverflow 上找到灵感,可以把 op

[python错误]UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte...

出现此错误的原因是使用'gbk'解码时报错,存在一些字符不能使用gbk来解码. 首先,简体中文字符编码(ASCII扩展字符集)有下列几种:GB2312.GBK.GB18030. GB2312: 中国国家标准总局在1980年发布的<信息交换用汉字编码字符集>,共收入汉字6763个和非汉字图形字符682个. GBK:中国国家标准总局在1995年发布了<汉字编码扩展规范>(GBK).GBK与GB 2312—1980国家标准所对应的内码标准兼容,同时在字汇一级支持ISO/IEC10646—