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逆序打印各位数字的方法
Jun 25 Python
python制作mysql数据迁移脚本
Jan 01 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
Python气泡提示与标签的实现
Apr 01 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
Python3 webservice接口测试代码详解
Jun 23 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 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
IStream与TStream之间的相互转换
2008/08/01 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
PHP图形计数器程序显示网站用户浏览量
2016/07/20 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
python同步两个文件夹下的内容
2019/08/29 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
IRO美国官网:法国服装品牌
2018/03/06 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
员工工作自我评价
2014/09/26 职场文书
首都博物馆观后感
2015/06/05 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python