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文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
用python实现面向对像的ASP程序实例
Nov 10 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
python安装Scrapy图文教程
Aug 14 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
深入解析神经网络从原理到实现
Jul 26 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 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
重置版游戏视频
2020/04/09 魔兽争霸
牡丹941资料
2021/03/01 无线电
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php mssql 数据库分页SQL语句
2008/12/16 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
js验证账户名是否重复
2020/05/26 Javascript
Python中非常实用的一些功能和函数分享
2015/02/14 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python原始套接字编程实例解析
2020/01/29 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
百联网上商城:i百联
2017/01/28 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
公司授权委托书
2014/04/04 职场文书
企业诚信承诺书
2014/05/23 职场文书
学习教师法的心得体会
2014/09/03 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
JavaScript实现两个数组的交集
2022/03/25 Javascript