python文件是乱码怎么办_python写入文件乱码怎么办
对开发者来说,最恼人的问题之一莫过于读写文件的时候,由于编码千差万别,出现乱码问题。好难快速解决啊。。。
下面说一下解决问题的思路
1. python中习惯首先声明编码类型#!/usr/bin/python
# -*- coding: -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
PS:不一定所有文件都是 utf-8 编码的,这里要注意。
2. 出现编码问题时,首先查看下该文件的初始编码方式,linux下命令为 :file -i filename,
eg:当前文件的编码为 “ISO-8859-1”,随后就将Python中的”utf-8“做了相应修改。
在读取文件时,需要先解码:str = str.decode("ISO-8859-1") ## 这样返回的就是unicode的str
在写入文件时,再用同样的方式编码(这里暂且不提文件转码):str = str.encode("ISO-8859-1")
例如,解析一段“ISO-8859-1”编码的json,代码如下(更多学习内容,请点击云海天教程网)import json
Jstr = json.loads(str, encoding="ISO-8859-1")
########
## handle sth to ”data“
########
print data.encode("ISO-8859-1")
这样print 或 写入的文件就不存在乱码啦。
3:utf-8格式写入文件
如果以上 json 文件是 utf-8 编码,写入后转为了 unicode,现在要写入utf-8,可以用如下方式:import codecs
name='xxx.json'
f=codecs.open(name,'r',encoding='utf8')
of=codecs.open(name+'.txt','w', encoding='utf8')
for line in f:
dictdata=json.loads(line)
out=json.dumps(dictdata,indent=4, ensure_ascii=False)
of.write(out+'
')
of.close()
python文件是乱码怎么办_python写入文件乱码怎么办相关推荐
- python不是内部文件别太任性_Python对文件的操作
Python的文件操作 什么是IO 在计算机中 I/O 是指 Input/Output,即 Stream (流)的输入和输出,输入和输出是相对于内存来说的.程序运行时数据都驻留在在内存当中,由 CPU ...
- python 如何把 utf - 8 字符串写入文件中_心若止水_百度空间
python 如何把 utf - 8 字符串写入文件中_心若止水_百度空间 python 如何把 utf - 8 字符串写入文件中_心若止水_百度空间 python 如何把 utf - 8 字符串写入 ...
- python中文件的write语句_Python之文件读写
程序中的数据都存储在内存中,当程序执行完毕后,内存中的数据将丢失,而文件可以用来进行数据的长期保存. 一.文件的打开与关闭 1. open 函数 Python通过解释器内置的open()函数打开一个文 ...
- 属于python文件的操作有_Python的文件操作
1.初始文件操作 1.使用python读写文件使用open()函数获取文件句柄,就可以操作文件了,根据打开方式不同能执行的操作也不同. 打开方式有: r.w.a.r+.w+.a+.rb.wb.ab.r ...
- python文件操作与异常处理_Python学习——文件操作和异常处理
在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963 ...
- python文件读取与输出_python基本文件操作(文件输入和输出)
文件输入输出中常用的文件对象方法: open: 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 c ...
- python读文件和写文件-python开发--从文件中读取数据和写入文件
#! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...
- python对文件的操作模式_python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- python文件操作的方法_python中文件操作的基本方法
在python中对一个文件进行操作,分为三大步:打开,操作,关闭 首先创建一个文件hello,里面内容为hello world 一.打开一个文件 #open('文件名或文件路径','操作模式',文件里 ...
- python中requests库入门及写入文件
1.python中requests库入门 import requests r = requests.get("https://www.baidu.com") print(r.sta ...
最新文章
- 【干货】图神经网络的十大学习资源分享
- easypoi实现Excel导入
- c# winForm DotNetBar控件之SuperGridControl
- 第二章 HTML5存储 JSON格式
- 套接口编程理论基础:正常启动
- GB28181协议介绍
- 中国4G网络走近大融合时代
- 电商运营数据分析常用分析指标--概述及流量指标
- java程序作弄别人_我的世界:作弄基友,戏耍熊孩子?家中常备红石陷阱,谁来谁遭殃!...
- 全民推荐时代已经到来!SaaS联盟推广计划如何开展?
- python做flash帧动画_[练习]利用CSS steps 实现逐帧动画
- matlab数组 xp,windowsxp系统将matlab数据导入excel的方法
- linux系统装fluent没有界面,linux系统下安装fluent
- java双端队列工作密取,同步器皿、并发容器、阻塞队列、双端队列与工作密取...
- qt找不到打印机_Qt之打印机总结
- 计算机网络(3.10)数据链路层- 集线器的星形拓扑和以太网的信道利用率
- 最新(U盘木马)Auto病毒专杀
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java宜居家居用品网jte0e
- 商家编号_doc_010简洁的简历模板word格式
- Android单元测试学习总结
热门文章
- LPC1788入门手记
- java获取图片流_JAVA IO流读取图片的问题
- MySQL数据库实验
- 单位换算:秒(s)/毫秒(ms)/微秒(us)/纳秒(ns)/皮秒(ps)之间密尔(mil)/毫米(mil)/英尺(inch)之间
- Java获取压缩包内文件数_java获取递归获取嵌套压缩包(zip和rar)中的所有文件
- 一个大牛写的有关游戏的
- 自制hdmi线一头改vga图_VGA连接线接口定义及引线焊接教程,VGA线不够长时可用网线代替?...
- 阿里云服务器搭建Ghost博客教程
- 大地测量学基础(复习)第一部分
- [经典力学]牛顿自然哲学的数学原理论文解读