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多线程编程简单介绍
Apr 13 Python
Python设计模式之抽象工厂模式
Aug 25 Python
Python实现的用户登录系统功能示例
Feb 05 Python
python生成ppt的方法
Jun 07 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
Python 解析简单的XML数据
Jul 24 Python
python时间序列数据转为timestamp格式的方法
Aug 03 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下实现伪 url 的超简单方法[转]
2007/09/24 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python字典key不能是可以是啥类型
2020/08/04 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
庆八一活动方案
2014/01/25 职场文书
网页美工求职信
2014/02/15 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS