python 编码问题】的更多相关文章

最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 为了解决问题,我花时间去研究了一下 Python 的字符编码处理.网上也有不少文章讲 Python 的字符编码,但是我看过一遍,觉得自己…
先说说什么是编码. 编码(encoding)就是把一个字符映射到计算机底层使用的二进制码.编码方案(encoding scheme)规定了字符串是如何编码的. python编码,其实就是对python字符串的编解码问题,这也是为什么在python中,只有字符串,才有decode和encode方法.在python中,字符串为str类型,其父类为basestring.unicode和ascii是str类型的两种常见编码,ascii是字符串的默认编码,如 str(12).ascii编码的字符串,7bi…
Python文件头部模板 先说个小知识点:如何在创建文件的时候自动添加文件的头部信息! 通过:file--settings 每次都通过file--setings打开设置页面太麻烦了!可以通过:View--选中Toolbar工具条…
python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. 代码缩进为4个空格符. 仅在运算符前后(如+,-,=,==)各加一个空格,不要在用于指定关键字参数或默认参数值的'='号周围使用空格,其他语句和表达式中都不要加空格. 分行 程序头部声明和import之间.import和程序之间用一个空行分隔. 类定义之间以及程序与if __name__ =="_…
摘要: 为了在源代码中支持非ASCII字符,必须在源文件的第一行或者第二行显示地指定编码格式: # coding=utf-8 或者是: #!/usr/bin/python # -*- coding: utf-8 -*- 在python中和字符串相关的数据类型,分别是str.unicode两种,他们都是basestring的子类,可见str与unicode是两种不同类型的字符串对象. basestring / \ / \ str unicode 不论是Python3x.Java还是其他编程语言,U…
http://blog.csdn.net/willhuo/article/details/49300441 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新. PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可…
将一个py脚本从Centos转到win运行,出错如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence 虽然明白是编码的问题,网络上decode()什么的,貌似不适用python3.后来发现使用字节方式打开可以.出错函数如下:gridfs.GridFS.put()函数.其中调用了读写操作 If you want raw bytes then you n…
Python编码/文件读取/多线程 个人笔记~~记录才有成长   编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字来处理,所以需要对不同的编码格式进行转化. 这里需要的函数decode和encode,形式都很简单,只要牢记对应的格式对应的编码就好 如果是utf-8,想转换成unicode content.decode('utf-8') 如果是Utf-8,想转换成gbk content.decode('utf-8…
Python的编码问题,真是让人醉了.最近碰到的问题还真不少.比如中文文件名.csv .python对外呈现不一致啊,感觉好不公平. 没图说个JB,下面立马上图.   我早些时候的其他脚本,csv都是中文命名的,都没有出现这些问题.现在都还能跑. 再次回头看以前的脚本,以前的脚本是这么写的 with open(parent_DIR + r"\testdata\\投资申请.csv","rb+") as csvfile:​ 问题1已解决. 更离谱的是同一段代码往同一个c…
规范的 python 编码令人赏心悦目,令代码的表达逻辑更清晰,使得工程代码更容易被维护和交流: 编码规范包括对于代码书写格式的约束,不良语法的禁用和推荐的编码手法,下面做些简要的描述: 1. 代码规范格式示例 以上的命名规范,对齐规范,代码行规范以及声明和注释规范都是最基础的书写规范,他们让代码表达更清晰. 2. 不良语法的禁用示例 常见的禁忌已经在上面被列出,避开python 的这些坑,可以让你的代码更少出错. 3. 推荐的编码手法示例 以上这些编程推荐,都是笔者多年最常用的,感觉最容易实现…
PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排1 模块内容的顺序:模块说明和docstring-import-globals&constants-其他定义.其中import部分…
原文地址:http://www.cnblogs.com/alex3714/articles/7550940.html 编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答 这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有一天它会猝不及防坑你一把. 不过感觉这哥们的答案并没把编码问题写明白,所以只好亲自动笔了. 折腾编码问题,有很多次,我以为自已明白了,最终发现,那只不过是自圆其说而已,这一次,终于100%确定,动笔即不再改! 看这篇文章前,你应该已经知道了为…
目录INF-qa Python 编码规范................................................................................................................... 11. 介绍 ...........................................................................................................…
PEP8 - Python编码规范 PEP8 规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8 规范 中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html PEP8 以下内容转 自: https://www.douban.com/note/134971609/ =============================我是分隔符=======================…
目录INF-qa Python 编码规范................................................................................................................... 11. 介绍 ...........................................................................................................…
Python编码规范:IF中的多行条件 转载 2017年03月08日 09:40:45 http://blog.csdn.net/wsc449/article/details/60866700 有时我将IF中的长条件分解成几行.最明显的方法是: if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something 在视觉上不是非常非常有吸引力,因为动作与条件混合.但是,这是使用…
前言 已有近两个月没有发表过文章了,前段时间外甥和女儿过来这边渡暑假,平常晚上和周末时间都陪着她们了,趁这个周末有空,再抽空再把这块拾起来.         这么久没写了,再次拿起键盘,想想,发表些什么呢,想起上次公司的代码评审委员会下周其中一个议题是关于Python编码规范的整理,那就趁热打铁,整理一份关于Python编码规范的文章,也为那些写Python的人,提供一些编码注意的一些事项或者说是参考吧. 编码规范的作用         规范故明思义,就是通过不断的总结,吸取好的点,从而形成的一…
系统编码,可以通过locale命令查看(LINUX)https://wiki.archlinux.org/index.php/Locale_(简体中文), centos7 配置文件在/etc/profile.d/lang.sh 文件编码,它代表源码文件内的所有内容都是根据词方式编码成二进制码流,存入到磁盘中的. python编码,是指python内设置的解码方式.如果不设定的话,python2默认是ascii解码.在源码文件开头(一定是第一行):#-*-coding:UTF-8-*-,源码文件的…
编程规范 1.1. 命名规范 1.1.1. [强制] 命名不能以下划线或美元符号开始和结尾 反例: name / __name / $Object / name / name$ / Object$ 1.1.2. [强制] 命名严禁使用拼音与英文混合的方式 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 变量 = 3; 正例: ct / ct108 / uc / tcy / youku / hangzhou 等国际通用的名称,可视为英…
关于python 字符串编码一直没有搞清楚,今天总结了一下. Python 字符串类型 Python有两种字符串类型:str 与 unicode. 字符串实例 # -*- coding: utf-8 -*- # 这个是 str 的字符串 s = '关关雎鸠' # 这个是 unicode 的字符串 u = u'关关雎鸠' print isinstance(s, str) # True print isinstance(u, unicode) # True print s.__class__ # <…
一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 一运行,发现乱码(字符串处理,读写文件,print) 然后,大多数人的做法是,调用encode/decode进行调试,并没有明确思考为何出现乱码 所以调试时最常出现的错误 错误1 Traceback (most recent call last): File "<stdin>"…
Python 编码规范(Google) https://blog.csdn.net/q469587851/article/details/54096093 Python 风格规范(Google) 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google Style Guide 以下代码中 Yes 表示推荐,No 表示不推荐. 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符…
最近利用python抓取一些网上的数据,遇到了编码的问题.非常头痛,总结一下用到的解决方案. linux中vim下查看文件编码的命令 set fileencoding python中一个强力的编码检测包 chardet ,使用方法非常简单.linux下利用pip install chardet实现简单安装 import chardet f = open('file','r') fencoding=chardet.detect(f.read()) print fencoding fencoding…
1.查看自己电脑的python的编码设置 # -*- coding: utf8 -*- import sys, locale """ locale.getpreferredencoding() 重要参数,默认为打开本地操作系统读取的文本文件的编码方式,因操作系统而异,除非指定 sys.stdout/stdin/stderr 标准输出/输入/错误输出 PYTHONIOENCODING 变量指定 sys.getdefaultencoding() python将binary dat…
决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新. PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类…
一:学习内容 python编码讲解 python编码说明 python中文乱码解决三部曲 二:python编码讲解 1. ASCII编码 美国信息交换标准代码(American Standard Code for Information Interchange,简称ASCII)是一种用于信息交换的美国标准代码,它的作用是给英文字母.数字.标点. 字符转换成计算机能识别的二进制数规定了一个大家都认可并遵守的标准. ord('a') ord('z') chr(97) chr(122) Ascii表:…
Python编码问题小记: 引子: 最近在复习redis,当我在获取redis的key的时候,redis 存储英文和汉字下面这个样子的,我知道汉字是用16进制的UTF-8编码了,然后突然很想搞清楚字符编码的知识,以及在Python中编码的转换,记下了这个随笔. 127.0.0.1:6379> get n5 "\xe5\xa7\x9a\xe6\xbb\xa8" 127.0.0.1:6379> get n1 "abc" 为什么要指定编码类型? 计算机本身只能…
一.原因 1.长期的工作中,发现大多数程序员的代码可读性差 2.不同的程序员之间的协作很重要,代码可读性必须很好 3.版本升级时,要基于源码升级 4.不友好的代码会影响python的执行效率 二.基于的规范 1.PEP 8: Style Guide for Python Code---------Python的编码风格建议 2.Google Python Style Guide--------------Goole Python编码风格建议 三.Python语言规范 1. imports 仅仅用…
据说,每个做 Python 开发的都被字符编码的问题搞晕过,最常见的错误就是 UnicodeEncodeError.UnicodeDecodeError,你好像知道怎么解决,遗憾的是,错误又出现在其它地方,问题总是重蹈覆辙,str 到 unicode 之间的转换用哪 decode 还是 encode 方法还特不好记,老是混淆,问题究竟出在哪里? 为了弄清楚这个问题,我决定从 python 字符串的构成以及字符编码的细节上进行深入浅出的分析. 字节与字符 计算机存储的一切数据,文本字符.图片.视频…
关于ASCII码和Unicode码的来源 计算机只能处理数字,如果要处理文本,需要先将文本转换成数字.早期计算机采用8bit作为一个字节(byte).所以一个字节最大为255(二进制11111111=十进制255),更大的数字需要更长的字节. 由于计算机是美国人发明,最早只有127个字符被编码到计算机中,即英文常见的大小写字母,数字和一些符合,这个编码表就是ASCII编码. 但是世界各地有各种语言,所以ASCII码不能满足需求了.所以中国制定了GB2312编码,把中文加进去了.其他国家也都有自己…