Python中文本文件的读取(包含指针移动)
一、普通文件的读写
打开文件的步骤:打开 --> 操作 --> 关闭
注意:打开后关闭的原因是因为这样不会浪费文字描述符
文件读写的方式:
r:(默认)
-只能读,不能写
-读取的文件不存在,会报错r+:
-可读写
-文件不存在,报错
-默认从文件指针所在位置开始写入w:
-只能写
-会清空文件之前的内容
-文件不存在,不会报错,会创建新的文件并写入w+:
-可读写
-会清空文件内容
-文件不存在,不会报错,会创建新的文件并写入a:
-只能写
-文件不存在,不报错,会创建新的文件
-不会清空文件内容a+:
-可读写
-文件不存在,不报错
-不会清空文件内容
二、具体实验举例
1. 打开关闭文件的实验要求如下:
(1) 题目要求:
举例说明如何让打开关闭文件,同时将文件中的内容输出
代码及测试结果如下:
<1> 首先将/etc/passwd备份到/tm/passwd下,如下所示:
<2> 在python的IDE中写入以下代码:
(2) 题目要求:
显示文件是否可读和可写
代码及测试结果如下:
结果显示只可读不可写
2、关于r的实验
(1) 题目要求:
如果文件存在时,是否能进行读写,如果能请举例说明
代码及测试结果如下:
修改文件的权限,再次测试发现还是不能进行写操作,如下所示:
因此,当文件存在时只能进行读操作,而不能进行写操作。
(2) 题目要求:
当文件不存在时,是否能对其进行读写操作,请举例说明
代码及示例结果如下:
总结: 文件只能读不能写 ,当读取的文件不存在,会报错
3、关于r+的实验
(1) 题目要求:
当文件存在时,是否能对其进行读写操作,请举例说明
代码及运行结果:
在python中写入下面的代码:
注意: 在上面的结果中我们可以发现,文件既能读也能写,但写操作之后无法读出文件的内容,这是因为文件的指针移动了,但我们可以通过命令行查看上面写入的内容,如下所示:
为了解决这一问题,我们可以通过查看和移动指针的位置来解决,如下所示:
因为上面值时查看了指针的位置并没有移动位值,所以当我们再次进行读操作时,上面写入的内容就会出现,如下所示:
总结: 当文件存在时,可读写,默认从文件指针所在位置开始写入;文件不存在时,报错
4、关于w的实验
(1) 题目要求:
举例说明当文件存在时,只能写操作,况且写会清空文件的内容
代码及运行结果如下:
文件的内容已清空,只有上面写入的,如下所示:
(2) 题目要求:
当文件不存在时,是否会创建新的文件并写入,请举例说明
代码及运行结果如下:
总结: 当文件存在时,只能写不能读,并且写会清空文件之前的内容;当文件不存在,不会报错,会创建新的文件并写入
5、关于w+的实验
(1) 题目要求:
举例说明当文件存在时,不仅能读也能写操作,并且写会清空文件的内容
代码及运行结果:
(2) 题目要求:
举例说明当文件不存在时,是否会创建新的文件并写入,请举例说明
代码及运行结果:
6、关于a的实验
(1) 题目要求:
举例说明当文件存在时,只能进行写不能读,并且写操作不会清空文件内容
代码及运行结果:
(2) 题目要求:
举例说明当文件不存在时,不会报错,会创建新的文件
代码及运行结果:
7、关于a+的实验
(1) 题目要求:
举例说明当文件不存在时,不仅能进行读操作也能进行写操作,并且写操作不会清空文件内容
代码及运行结果如下:
(2) 题目要求:
举例说明当文件不存在时,不会报错,会创建新的文件
代码及运行结果:
三、文件的读取
- readlines():读取文件内容,返回一个列表,列表里的元素分别为文件每行的内容
首先在/tmp下编写一个文件,如下所示:
读取文件的全部内容,如下所示:
读取文件的第一行,如下所示:
以列表的形式读取文件,如下所示:
读取文件中的字节,如下所示:
读取文件并且以’ '结尾的行,如下所示:
在列表中以循环的形式读取文件,如下所示:
以匿名函数的形式读取文件,并将文件放入到列表中,如下所示:
四、seek方法,移动指针
seek第一个参数是偏移量:>0,代表向右移动,<0,代表向左移动
seek第二个参数是:
0:移动指针到文件开头
1:不移动指针
2:移动指针到末尾
代码及运行结果如下:
Python中文本文件的读取(包含指针移动)相关推荐
- python对文件的读操作有哪些方法-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- python对文件的读操作方法有哪些-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- 从Python中readline()函数读取的一行内容中去掉换行符\n
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: file = o ...
- python中npz文件读取和图片显示
python中npz文件读取和图片显示 1. npz文件读取 1.1 读入 1.2 大小 2. 读取图片 1. npz文件读取 1.1 读入 from PIL import Image import ...
- 7.1 Python中文件的读取和写入
文件操作 在Python中实现文件的读写操作可以通过Python的内置函数open实现,使用内置函数open时,我们可以指定文件名.操作模式(打开文件类型,字符型还是二进制型,以及所做操作,读.写.还 ...
- python中几种读取文件的方法_python 逐行读取文件的几种方法
Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...
- 如何在Python中从stdin读取
There are three ways to read data from stdin in Python. 在Python中,有三种方法可以从stdin读取数据. sys.stdinsys.std ...
- python中文件读取_如何从Python中的文件读取字节
类似于 this问题,我试图读取ID3v2标记头并且无法弄清楚如何在python中获取单个字节. 我首先将所有十个字节读入一个字符串.然后我想解析各个信息. 我可以在字符串中获取两个版本号字符,但后来 ...
- python读取rar文件_在 python 中,如何读取由 7z 压缩的文本文件_python_酷徒编程知识库...
这允许你stream行.import os import py7zlib class SevenZFileError(py7zlib.ArchiveError): pass class SevenZF ...
最新文章
- 神经网络中的注意力机制总结及PyTorch实战
- Eclipse单元测试Android编程,在Eclipse中进行Android单元测试-Fun言
- hdu1007最近点对问题(分冶java)
- 项目上传github步骤
- 牛客练习赛26 E-树上路径 (树链剖分+线段树)
- mikadonic-iptables学习笔记
- go语言 c# 混合编程 pdf,C# 结合 Golang 开发
- Java语言实现word转PDF(10分钟解决)
- 单元测试、集成测试、系统测试的不同
- 逆向——微信接收文本图片消息
- 大数据与云计算技术周报(第150期)
- 连续型随机变量与离散型随机变量
- 今日学习——冒泡排序
- IE 调试工具 IETester+DebugBar
- 微信订阅消息推送(记录)
- 【SpringCloud】SpringCloud简介
- MCU-51:单片机DS18B20温度报警器
- 1114 Family Property (25分) (并查集) 复杂题 经典并查集
- 阿里P6架构师的成长之路,我只用了5个月.....
- 【51NOD 1585】买邮票送邮票
热门文章
- Android学习笔记---29_构建soap协议内容,发送xml数据和调用webservice,手机号码归属地查询器
- oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
- torch.cuda.is_aviaiable() 返回值为False的问题
- eclipse 导出jar 没有主清单属性的解决方法
- VC助手使用问题————all instance of the license* are in use .VA will be disabled
- linux查询配置基础命令,Linux查看系统配置常用命令
- 随想录(objc的编译)
- python3.7.3安装失败_python 3.7.3安装web.py报错解决方法
- 电脑编辑安卓分区_如何使用手机APP,编辑文字给屏幕发送节目。
- 什么相片可以两张弄成一张_怎么将两张图片合成一张?