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和GO语言实现的消息摘要算法示例
Mar 10 Python
Python实现的彩票机选器实例
Jun 17 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
Python学生成绩管理系统简洁版
Apr 05 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
pymysql模块的操作实例
Dec 17 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 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
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
Laravel下生成验证码的类
2017/11/15 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
Python输出各行命令详解
2018/02/01 Python
Python多线程扫描端口代码示例
2018/02/09 Python
Python对切片命名的实现方法
2018/10/16 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
幼儿园教师国培感言
2014/02/02 职场文书
学习十八大报告感言
2014/02/04 职场文书
初三语文教学计划
2015/01/22 职场文书
五一劳动节慰问信
2015/02/14 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
Python 键盘事件详解
2021/11/11 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android