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 01 Python
在Python中使用mechanize模块模拟浏览器功能
May 05 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
python制作图片缩略图
Apr 30 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
python 下载m3u8视频的示例代码
Nov 11 Python
Python第三方库安装缓慢的解决方法
Feb 06 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 Python
基于flask实现五子棋小游戏
May 25 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
eAccelerator的安装与使用详解
2013/06/13 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP中比较时间大小实例
2014/08/21 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Selenium的使用详解
2018/10/19 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
任命书怎么写
2015/03/02 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
讲座新闻稿
2015/07/18 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
前端JavaScript大管家 package.json
2021/11/02 Javascript