open, io.open, codecs.open应该如何选择?

之前用到了open来读写文件。我发现好几个系统文件里都有open函数,如:_io.py; codecs.py; builtins.py。

调用时可以使用io.open; codecs.open; 或者是直接open。当时我挨个儿试了一下都是正常的,那么用哪个呢?

简单从代码简化上看,后两者还要导入模块,于是我就简单粗暴的直接使用了open。还好我自己用的是python3,因此完全没毛病。

此话怎样?如果用的是Python2,另外也最好不要使用io.open, 因为在某些版本和情况下会出现异常。

但是如果用codecs.open呢, 那么不管是python2.X,还是Python3,哈哈,那都是兼容的了,包括可以兼容中文的情况。

综上,是选择直接open,还是codecs.open?  you`v got it.

不多说了,迅速给出示范如下:

def getFile(file_name):with codecs.open(file_name, "r", encoding="utf-8") as rf:lines = rf.readlines()return lines

完。

Python的open, io.open, codecs.open该如何选择相关推荐

  1. Python基础之:Python中的IO

    文章目录 简介 linux输入输出 格式化输出 f格式化 format格式化 repr和str %格式化方法 读写文件 文件对象的方法 使用json 简介 IO就是输入和输出,任何一个程序如果和外部希 ...

  2. linux下c 调用python,在Linux下使用python ctypes调用io\u submit

    我正在尝试使用python ctypes调用io帴ubmit. 我写的代码应该可以在32位和64位Intel/AMD体系结构上工作,但这里我将重点放在64位上.在 我定义了以下内容:def PADDE ...

  3. python asyncio_Python 异步 IO系列:认识asyncio

    Python的asyncio是使用 async/await 语法编写并发代码的标准库.通过上一篇文章,我们了解了它不断变化的发展历史.到了Python最新稳定版 3.7 这个版本,asyncio又做了 ...

  4. python异步的发展历程_深入了解Python的异步IO:概念和历史

    前面发表了<简说Python Web异步框架>一文后,很多朋友希望能更多了解Python关于asyncio的知识.正好,我也想深入理解理解这方面的知识,于是就促成了这篇文章. 一.软件系统 ...

  5. Python 的异步 IO:Aiohttp Client 代码分析

    Python 的异步 IO:Aiohttp Client 代码分析 Aiohttp 是 Python 的一个 HTTP 框架,基于 asyncio,所以叫 Aiohttp. 我主要是看源码,想理解它的 ...

  6. python读取rtf文件_【Python】【IO】文件读写

    一.打开的文件在使用完后要关闭 >>>f=file('fibs.py') #用''表示文件名 #无''表示变量名 >>>f.read() #打印fibs.py中的内 ...

  7. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(一)既然你选择了这系列教程那么我就要让你听得懂

    一.前言 几个月前编写了一份python语言入门的博文,近期重新审阅了一遍发现编写的质量太过随意,可能对于一部分人并不是非常友好,故此重新编写Python语言的零基础教程. 本篇教程将会尽量把一些专业 ...

  8. python和java的区别-Python和Java的区别有哪些?如何选择?

    原标题:Python和Java的区别有哪些?如何选择? 随着人工智能AI的发展越来越快速,很多人对于Python开发技术也是越来越重视,也正因如此,不少人拿着Java和Python进行比较,认为Pyt ...

  9. python3.8.2numpy版本,如何查看安装python和numpy的版本,numpy版本的选择,命令行下查看pyth...

    如何查看安装python和numpy的版本,numpy版本的选择,命令行下查看pyth 命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注 ...

最新文章

  1. Linux那些事儿 之 戏说USB(19)设备的生命线(二)
  2. golang context 父子任务同步取消信号 协程调度 简介
  3. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
  4. 快手基于RocketMQ的在线消息系统建设实践
  5. C#-MVC开发微信应用(1)--开始使用微信接口
  6. 【jquery】基于 jquery 实现 ie 浏览器兼容 placeholder 效果
  7. SDN精华问答 | 使用SDN的一个例子
  8. 小哼买书JAVA编写,04_小哼买书
  9. Linux常用脚本命令总结
  10. 写在前面--点燃酱爆心中的那团火
  11. SQLite入门与分析(四)---Page Cache之事务处理(1)
  12. Single Number leetcode java
  13. 服务器怎么ghost备份系统,GHOST备份系统的方法 GHOST备份系统教程
  14. 微信小程序(十二)uni-app框架开发及组件库
  15. LabVIEW软件、驱动安装及编程方法(理论篇—2)
  16. 墨菲定律吉德林法则吉尔伯特定律沃尔森法则福克兰定律
  17. c语言牛顿法求整数平方根,牛顿法求平方根-编程练习
  18. SCI收录的文献类型与认证的文献类型
  19. 量化投资学习——资产组合理论(Portfolio Theory)
  20. win7升级win10正式版_Win7免费升级Win10

热门文章

  1. OSChina 周四乱弹 —— 只有这个条件达成,我才有码神附体的手速
  2. 对计算机学校的意见和建议,家长对学校的意见或建议
  3. [附源码]计算机毕业设计JAVA企业人力资源管理系统
  4. Codeforces 355C 策略题
  5. 编程每种语言有什么用_每种情况的最佳编程语言
  6. 以太网PHY层芯片LAN8720A中文电气特性参数
  7. C#实现回合制游戏模拟
  8. 不适定问题(Ill-posed problem)
  9. html五子棋游戏,HTML5-右脑开发项目-小游戏-五子棋gobang.html
  10. 推荐系统总结之深度召回模型(上)