Python读取文件编码解码问题

用chardet检测编码

import chardet

raw = open("model.json", ‘rb‘).read()
result = chardet.detect(raw)
# 检测编码
encoding = result[‘encoding‘]
f = open("model.json", "r", encoding=encoding)
lines = f.readlines()
for line in lines:
    print(line)

原文地址:https://www.cnblogs.com/Py00/p/8881850.html

时间: 2024-12-29 16:47:43

Python读取文件编码解码问题的相关文章

Python中,关于读取文件编码解码的问题

UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 94: illegal multibyte sequence 有时候用open()方法打开文件读取文件的时候会出现这个问题:'GBK'编×××无法解码94号位置的字节0xb1:非法多字节序列.错误信息提示了使用"GBK"解码. 1.分析 pycharm自动使用的是'UTF-8'编码,好像没有什么问题,为什么会出现这个错误呢.结果查了下open()函数的注

解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

python读取文件小结

python读取文件小结 你想通过python从文件中读取文本或数据. 一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中: all_the_text = open('thefile.txt').read( )     # 文本文件中的所有文本 all_the_data = open('abinfile','rb').read( )    # 二进制文件中的所有数据 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用

python 读取文件时报错UnicodeDecodeError: 'gbk' codec can'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

Python读取文件

1.在Python中如何操作文件 2.如何读取大文件 文件内建函数:open(file_name,access_mode='r',buffering=-1),file() 文件访问模式:     r:以读方式打开(默认)     w:写     a:追加     b:以二进制方式打开     r+ w+ a+:读写方式打开     rb:以二进制读模式打开     wb:以二进制写模式打开     ab:以二进制追加模式打开 输入,输出 read() 读取给定数目个字节 readline() 读

Python读取文件的最后一行(非空行)

利用Python读取文件(针对大文件和小文件两种)的首行(第一行)和末行(最后一行).脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题. 脚本内容可以从GitHub上获取: https://github.com/DingGuodong/LinuxBashShellScriptForOps/blob/master/functions/file/getFileLastLine.py 脚本内容如下: #!/usr/bi

python 读取文件时报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence python读取文件时提示UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence 解决办法: FILE_OBJECT= open('order.log','r'

python声明文件编码,必须在文件的第一行或第二行

#coding=utf-8和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型 注意的两点: 1.声明必须在文件的第一行或第二行: 2.coding后面必须紧跟冒号或等号,#coding : utf-8是错的. 例: 声明编码前有字符串 1 '''testing user longin''' 2 #coding:utf-8 3 4 print u'''登录相关的测试''' 或 声明编码位于第三行 1 #'test' 2 3 #coding:utf-8 4 5 print

python读取文件,如何去掉每一行末尾的换行符"\n"

参考文档:http://blog.csdn.net/jfkidear/article/details/7532293 #!/usr/bin/python # coding:utf-8 # 文件操作 with open('~/refer.txt', 'r') as f: print('文件正常打开,正在开始操作文件') for line in f.readlines(): # python按行读取文件,如何去掉换行符"\n" print line.strip('\n')