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基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
Dec 21 Python
Python sklearn分类决策树方法详解
Sep 23 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 empty函数判断mysql表单是否为空
2010/04/12 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
跟老齐学Python之list和str比较
2014/09/20 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
django中使用POST方法获取POST数据
2019/08/20 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
深入了解python列表(LIST)
2020/06/08 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
英国网上花店:Bunches
2016/11/29 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
考核工作实施方案
2014/03/30 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
教师辞职书范文
2015/02/26 职场文书
教师求职简历自我评价
2015/03/10 职场文书
老人与海读书笔记
2015/06/26 职场文书
Python序列化模块JSON与Pickle
2022/06/05 Python