Python open() 函数

如何用Python处理来自其他程序的数据?

Python open()方法会打开一个文件,返回文件对象。它使用一个文件名作为唯一的强制参数,其余的都是可选的。

open(file, mode='r', buffering=-1, 
encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

  • file:必需,文件路径。
  • mode:可选,文件打开模式。
    其中,‘r’表示读(默认),‘w’表示写,‘b'表示以二进制模式打开文件,‘a’表示追加,‘+’表示读和写都是允许的。
    U为通用换行模式,所有的换行符/字符串(\r\n,\r,\n)都会被转换成\n,所以不推荐。b模式用二进制打开,所以不会把Windows中规范的\r\n 默认换成 \n,所以适合非文本的操作,如图片等。
  • buffering:设置缓冲。如果参数是0(或者是False),I/O(输入/输出)就是无缓冲的。如果是1(或者是True),则I/O就是有缓冲的(意味着Python使用内存来代替硬盘,让程序更快,只有使用flush或者close时才会更新硬盘)。大于1的数字代表缓冲区的大小(单位是字节),-1(或者任何负数)代表使用默认缓冲区大小。
    Python缓冲的作用一是增加运行效率,避免常用的对象经常被创建又销毁,二是减少内存负担。默认简单整数和短字符是在缓冲区的(即赋值到不同对象后,id相同)。可变对象(列表,字典)等的缓存是没有意义的,而元组也不适合缓存(元素不可变,但元素的元素可能发生变化)。
  • encoding:一般使用utf8,encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode.
  • errors:报错级别
  • newline:区分换行符newline controls how universal newlines mode works (it only applies to text mode). It can be None, '', '\n', '\r', and'\r\n'.
  • closefd:传入的file参数类型。If closefd is False and a file descriptor rather than a filename was given, the underlying file descriptor will be kept open when the file is closed.
  • opener:A custom opener can be used by passing a callable as opener. The type of file object returned by the open() function depends on the mode.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容