Python2和3的糊涂账……

最早的时候,只有open
你知道的,Python 2的编码多么蛋疼,所以,就有了codecs.open.

至于io.open,其实是因为Python 2的open实际上是file模块提供的,而Python 3的open是io模块提供的。然后,Python 2.6引入了这个Python 3的特性,叫做io.open,以便和原来的open相区分。

但是,这个Python 2.6的io.open是有问题的,在一些情况下表现很怪异。Python 2.7的io.open就正常了。

个人建议:

Python3直接用open
Python2.x下用codecs.open,特别是有中文的情况,然后也可以避免踩到2.6下面io.open的坑。
如果希望代码同时兼容Python2和Python3,那么推荐用codecs.open

Python3:io.open() function is a alias for the builtin open() function

open、io.open、codecs.open之间的区别?相关推荐

  1. IO多路复用中select、poll、epoll之间的区别

    本文来说下IO多路复用中select.poll.epoll之间的区别 文章目录 什么是IO多路复用 为什么有IO多路复用机制 同步阻塞(BIO) 同步非阻塞(NIO) IO多路复用(现在的做法) 3种 ...

  2. MEAN.js和MEAN.io之间的区别

    本文翻译自:Difference between MEAN.js and MEAN.io I wanted to use the MEAN JavaScript Stack, but I notice ...

  3. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  4. 定义指令时“控制器”,“链接”和“编译”函数之间的区别

    本文翻译自:Difference between the 'controller', 'link' and 'compile' functions when defining a directive ...

  5. “throw”和“throw ex”之间有区别吗?

    有些帖子询问这两者之间的区别是什么. (为什么我还要提这个...) 但我的问题是不同的,我称之为"抛出ex"在另一个错误的神像处理方法. public class Program ...

  6. (转)select、poll、epoll之间的区别

    本文来自:https://www.cnblogs.com/aspirant/p/9166944.html (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道 ...

  7. select、poll、epoll之间的区别(搜狗面试)

    (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对 ...

  8. file.getpath_Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别...

    file.getpath File API在Java中非常重要,因为它使文件系统可以访问Java程序. 尽管Java的文件API丰富,但是使用它们时仍需要了解很多细节. 关于文件路径的常见查询程序员之 ...

  9. Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别

    File API在Java中非常重要,因为它使文件系统可以访问Java程序. 尽管Java的文件API丰富,但是使用它们时仍需要了解许多细节. 关于文件路径的常见查询程序员之一是getPath() , ...

最新文章

  1. Leangoo看板工具可以很好的管理我们的销售
  2. R语言scale_colour_brewer()函数和scale_fill_brewer()函数调色板及填充ggplot2图像实战
  3. Python拼接多张图片
  4. 递归2:第 N 个泰波那契数
  5. SAP Cloud Platform mobile service的使用过程
  6. [深度学习] PyTorch-BigGraph 使用
  7. 总线的集中式仲裁(讲述计时器定时查询方式,独立请求方式,链式查询方式的优缺点)
  8. mysql视图管理和存储过程
  9. python绘制折线图保存_python如何画折线图
  10. Nginx反向代理其他使用方式
  11. “你在哪里上班?”“呵呵呵!”
  12. element 让日期选择器一直显示选择面板
  13. 利用 MPI 进行蒙特卡洛模拟
  14. Assetbundle coustomerScripts
  15. Need Preamp And EQ Collection Mac - 英式前置音频放大插件
  16. ARM开发7.3.1 基础实训( 1 ) 单个按键的输入系统设计( 1 )--LPC21XX
  17. 读书:Jenkins权威指南[2016京东畅销书]
  18. CentOS7搭建Docker私有仓库
  19. iOS : 通过路径读取文件的几种方法
  20. 自称很菜的二本大龄程序员居然拿到百度offer(百度面经)

热门文章

  1. 要想文章上Google搜索引擎首页,SEO 要做好下面7个点优化
  2. 趣图:程序员到底是一群什么样的人?
  3. 数据集FFHQ和LSUN介绍
  4. 本地通过cmd开启一个服务
  5. 软件著作权申请材料及申请流程?
  6. 163yum源的配置安装
  7. 自动控制原理之一稳态误差分析/MATLAB
  8. 微服务理论与实践[1]-什么是微服务
  9. ROS 添加自定义.msg文件生成的.h文件
  10. Openshift入门:基本概念解析