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
完。