Python File(文件) 方法整理


Posted in Python onFebruary 18, 2019

open() 方法

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

open(file, mode='r')

完整的语法格式为:

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

参数说明:

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener:
  • mode

参数有:

模式 描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(不推荐)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

默认为文本模式,如果要以二进制模式打开,加上 b 。

file 对象

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

序号 方法及描述
1 file.close() 关闭文件。关闭后文件不能再进行读写操作。
2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
3 file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
4 file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。
5 file.next() 返回文件下一行。
6 file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。
7 file.readline([size]) 读取整行,包括 "\n" 字符。
8 file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。
9 file.seek(offset[, whence]) 设置文件当前位置
10 file.tell() 返回文件当前位置。
11 file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。
12 file.write(str) 将字符串写入文件,返回的是写入的字符长度。
13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
Python 相关文章推荐
python使用scrapy解析js示例
Jan 23 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
python实现壁纸批量下载代码实例
Jan 25 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 Python
关于Python中*args和**kwargs的深入理解
Aug 07 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
Python异常处理知识点总结
Feb 18 #Python
Python os.access()用法实例
Feb 18 #Python
python使用pipeline批量读写redis的方法
Feb 18 #Python
Python变量类型知识点总结
Feb 18 #Python
Python中文编码知识点
Feb 18 #Python
对Python的多进程锁的使用方法详解
Feb 18 #Python
对python中if语句的真假判断实例详解
Feb 18 #Python
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
JQUERY获取form表单值的代码
2010/07/17 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
react build 后打包发布总结
2018/08/24 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
Python3基础之输入和输出实例分析
2014/08/18 Python
python模块之re正则表达式详解
2017/02/03 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
mac使用python识别图形验证码功能
2020/01/10 Python
关于python中的xpath解析定位
2020/03/06 Python
Pandas的Apply函数具体使用
2020/07/21 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
Skyscanner波兰:廉价航班
2017/11/07 全球购物
理工科学生的自我评价
2013/12/15 职场文书
集团公司总经理岗位职责
2013/12/20 职场文书
房地产广告策划方案
2014/05/15 职场文书
孩子教育的心得体会
2014/09/01 职场文书
教育合作协议范本
2014/10/17 职场文书
合作合同协议书范本
2015/01/27 职场文书