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中使用itertools模块中的组合函数的教程
Apr 13 Python
Python实现提取文章摘要的方法
Apr 21 Python
举例区分Python中的浅复制与深复制
Jul 02 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
python获取交互式ssh shell的方法
Feb 14 Python
基于Python获取城市近7天天气预报
Nov 26 Python
python 项目目录结构设置
Feb 14 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
pandas 操作 Excel操作总结
Mar 31 Python
python xlwt模块的使用解析
Apr 13 Python
Python使用pyecharts控件绘制图表
Jun 05 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
PHP $_SERVER详解
2009/01/16 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
php实现中文转数字
2016/02/18 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
Seajs源码详解分析
2019/04/02 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Python调用服务接口的实例
2019/01/03 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
Python restful框架接口开发实现
2020/04/13 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
Django封装交互接口代码
2020/07/12 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
普师专业个人自荐信范文
2013/11/26 职场文书
cf收人广告词大全
2014/03/14 职场文书
小摄影师教学反思
2014/04/27 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
留学推荐信中文范文
2015/03/26 职场文书
学生会部长竞选稿
2015/11/19 职场文书
高中数学教学反思范文
2016/02/18 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Golang全局变量加锁的问题解决
2021/05/08 Golang
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技