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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
给Python入门者的一些编程建议
Jun 15 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
Python3.5 创建文件的简单实例
Apr 26 Python
python flask安装和命令详解
Apr 02 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
python项目对接钉钉SDK的实现
Jul 15 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
Pytorch上下采样函数--interpolate用法
Jul 07 Python
python的launcher用法知识点总结
Aug 07 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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
杏林同学录(一)
2006/10/09 PHP
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
requireJS使用指南
2016/04/27 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python运算符重载用法实例
2015/05/28 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
python中的colorlog库使用详解
2019/07/05 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
电子专业毕业生自我鉴定
2014/01/22 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
会议活动邀请函
2014/01/27 职场文书
初二物理教学反思
2014/01/29 职场文书
医院合作协议书
2014/08/19 职场文书
生日祝酒词大全
2015/08/10 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
golang slice元素去重操作
2021/04/30 Golang
docker-compose部署Yapi的方法
2022/04/08 Servers