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 相关文章推荐
使用IPython来操作Docker容器的入门指引
Apr 08 Python
python opencv之分水岭算法示例
Feb 24 Python
python实现搜索文本文件内容脚本
Jun 22 Python
Python实现识别图片内容的方法分析
Jul 11 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
浅谈Python基础—判断和循环
Mar 22 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
Python实现平行坐标图的绘制(plotly)方式
Nov 22 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
python在地图上画比例的实例详解
Nov 13 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
前端性能优化建议
2020/09/17 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
如何实现jdbc性能优化
2012/07/30 面试题
区三好学生主要事迹
2014/01/30 职场文书
入学生会自荐书范文
2014/02/05 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
民政工作个人总结
2015/02/28 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python