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的装饰器使用详解
Jun 26 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
python re库的正则表达式入门学习教程
Mar 08 Python
详解numpy的argmax的具体使用
May 27 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
jupyter notebook清除输出方式
Apr 10 Python
Python建造者模式案例运行原理解析
Jun 29 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 Python
Python基础之常用库常用方法整理
Apr 30 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
php在线代理转向代码
2012/05/05 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP队列用法实例
2014/11/05 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
js实现简单进度条效果
2020/03/25 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
Python中replace方法实例分析
2014/08/20 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
python中使用序列的方法
2015/08/03 Python
Python编写一个闹钟功能
2017/07/11 Python
Python对切片命名的实现方法
2018/10/16 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
基于python 取余问题(%)详解
2020/06/03 Python
python3中布局背景颜色代码分析
2020/12/01 Python
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
经贸日语毕业生自荐信
2013/11/03 职场文书
妇科医生自荐信
2013/11/05 职场文书
大学生毕业自我鉴定
2013/11/06 职场文书
报名委托书
2015/01/29 职场文书
2015新学期家长寄语
2015/02/26 职场文书
河童之夏观后感
2015/06/11 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
《比尾巴》教学反思
2016/02/24 职场文书