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生成随机验证码(中文验证码)示例
Apr 03 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python中使用摄像头实现简单的延时摄影技术
Mar 27 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
python re模块findall()函数实例解析
Jan 19 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
django 类视图的使用方法详解
Jul 24 Python
Python解析json代码实例解析
Nov 25 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
什么是Python包的循环导入
Sep 08 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
php若干单维数组遍历方法的比较
2011/09/20 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js 数组操作之pop,push,unshift,splice,shift
2014/01/29 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
函数式编程入门实践(一)
2019/04/20 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
Python中文件遍历的两种方法
2014/06/16 Python
python字符串连接方式汇总
2014/08/21 Python
python使用any判断一个对象是否为空的方法
2014/11/19 Python
python提取字典key列表的方法
2015/07/11 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
服装设计师求职信
2014/06/04 职场文书
本科毕业生求职信
2014/06/15 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
早恋主题班会
2015/08/14 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Python中的 No Module named ***问题及解决
2022/07/23 Python