Python读写文件模式和文件对象方法实例详解


Posted in Python onSeptember 17, 2019

本文实例讲述了Python读写文件模式和文件对象方法。分享给大家供大家参考,具体如下:

一. 读写文件模式

利用open() 读写文件时,将会返回一个 file 对象,其基本语法格式如:  open ( filename, mode)

其中,filename变量是一个包含了你要访问的文件名称的字符串值。而mode决定了你打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。

注:这个参数是非强制的,默认文件访问模式为只读模式(r)

Python读写文件模式和文件对象方法实例详解

例如,我们现在将一个字符串写入到test.txt文件中,其中test.txt的存储位置为: "E:/orig_data/test.txt" ,

具体操作如下:

#=============================================================================
#打开一个文件
file = open("E:/orig_data/test.txt" ,"w")
file.write("Python是一个很好的语言,和MATLAB一样简单好用!")
#关闭打开的文件
file.close()
#文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文
#件数量也是有限的

#为了简化操作,一般我们采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一个很好的语言,和MATLAB一样简单好用!")
 
#读取该文件时
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.read())
#============================================================================

写入后得到的文件test.txt文件为:

Python读写文件模式和文件对象方法实例详解

在Python读取文件的结果:

Python读写文件模式和文件对象方法实例详解

如果我们在写入文本后,直接立马打印则会出现以下结果:

#=============================================================================
#打开一个文件
file = open("E:/orig_data/test.txt" ,"w")
num = file.write("Python是一个很好的语言,和MATLAB一样简单好用!")
print(num)
#关闭打开的文件
file.close()
#=============================================================================

结果输出的是数字:29,即输出的是双引号内写入字符的个数。

如果我们写入了非字符的文本,则需要现将其进行转换,然后在写入:

#=============================================================================
#打开一个文件
file = open("E:/orig_data/test.txt" ,"w")
value = ("ww.baidu.com",28)
s = str(value)
file.write(s)
#关闭打开的文件
file.close()
#=============================================================================

输出的结果为:

("ww.baidu.com",28)

二. 文件对象的方法

在已有可读取的文件的前提下,读文件的读取方法进行总结:

1. f.read()

为了读取一个文件的内容,调用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负, 那么该文件的所有内容都将被读取并且返回。

#============================================================================
#读取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.read()
print(str)
file.close()
#为了简化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.read())
#===========================================================================

打印的结果:

Python读写文件模式和文件对象方法实例详解

2. f.readline()

f.readline() 会从文件中读取单独的一行。换行符为 '\n'。

f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。

#==========================================================================
#为了简化操作,一般我们采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一个很好的语言,和MATLAB一样简单好用。\n是的,的确如此!") 
#============================================================================
#读取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readline()
print(str)
file.close()
#为了简化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.readline())
#===========================================================================

文件读取的结果:

Python读写文件模式和文件对象方法实例详解

说明:写入了两行文本,但是结果只读取了一行,即按行读取的结果。如果想要读取全部文本,可利用for循环,逐行读取,如

#==========================================================================
#为了简化操作,一般我们采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一个很好的语言,和MATLAB一样简单好用。\n是的,的确如此!") 
#============================================================================
#读取文件
file = open("E:/orig_data/test.txt" ,"r")
for line in file:
 print(line, end=' ')
file.close()
#===========================================================================

读取的结果:

Python读写文件模式和文件对象方法实例详解

注:这个方法很简单, 但是并没有提供一个很好的控制。因此实际中更多的我们建议利用f.readlines()来读取。

3. f.readlines()

f.readlines() 将返回该文件中包含的所有行。

如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。

#==========================================================================
#为了简化操作,一般我们采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一个很好的语言,和MATLAB一样简单好用。\n是的,的确如此!") 
#============================================================================
#读取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readlines()
print(str)
file.close()
#为了简化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.readlines())
#===========================================================================

文件读取的结果:

Python读写文件模式和文件对象方法实例详解

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中对list去重的多种方法
Sep 18 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
Python 模块EasyGui详细介绍
Feb 19 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
Python学习笔记之解析json的方法分析
Apr 21 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
Python 中如何写注释
Aug 28 Python
弄清Pytorch显存的分配机制
Dec 10 Python
python 日志模块logging的使用场景及示例
Jan 04 Python
python代码实现扫码关注公众号登录的实战
Nov 01 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 #Python
Python使用random模块生成随机数操作实例详解
Sep 17 #Python
python同时替换多个字符串方法示例
Sep 17 #Python
python 函数的缺省参数使用注意事项分析
Sep 17 #Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 #Python
Python 实现大整数乘法算法的示例代码
Sep 17 #Python
Python对接 xray 和微信实现自动告警
Sep 17 #Python
You might like
PHP中调用JAVA
2006/10/09 PHP
WHOIS类的修改版
2006/10/09 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
javascript parseInt 函数分析(转)
2009/03/21 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
详解vue axios中文文档
2017/09/12 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
python实现AES加密解密
2019/03/28 Python
python同步windows和linux文件
2019/08/29 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
迟到检讨书5000字
2014/01/31 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
初三数学教学反思
2016/02/17 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL