一、普通文件的读写

打开文件的步骤:打开 --> 操作 --> 关闭

注意:打开后关闭的原因是因为这样不会浪费文字描述符

文件读写的方式:

  • 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中文本文件的读取(包含指针移动)相关推荐

  1. python对文件的读操作有哪些方法-Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...

  2. python对文件的读操作方法有哪些-Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...

  3. 从Python中readline()函数读取的一行内容中去掉换行符\n

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: file = o ...

  4. python中npz文件读取和图片显示

    python中npz文件读取和图片显示 1. npz文件读取 1.1 读入 1.2 大小 2. 读取图片 1. npz文件读取 1.1 读入 from PIL import Image import ...

  5. 7.1 Python中文件的读取和写入

    文件操作 在Python中实现文件的读写操作可以通过Python的内置函数open实现,使用内置函数open时,我们可以指定文件名.操作模式(打开文件类型,字符型还是二进制型,以及所做操作,读.写.还 ...

  6. python中几种读取文件的方法_python 逐行读取文件的几种方法

    Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...

  7. 如何在Python中从stdin读取

    There are three ways to read data from stdin in Python. 在Python中,有三种方法可以从stdin读取数据. sys.stdinsys.std ...

  8. python中文件读取_如何从Python中的文件读取字节

    类似于 this问题,我试图读取ID3v2标记头并且无法弄清楚如何在python中获取单个字节. 我首先将所有十个字节读入一个字符串.然后我想解析各个信息. 我可以在字符串中获取两个版本号字符,但后来 ...

  9. python读取rar文件_在 python 中,如何读取由 7z 压缩的文本文件_python_酷徒编程知识库...

    这允许你stream行.import os import py7zlib class SevenZFileError(py7zlib.ArchiveError): pass class SevenZF ...

最新文章

  1. 神经网络中的注意力机制总结及PyTorch实战
  2. Eclipse单元测试Android编程,在Eclipse中进行Android单元测试-Fun言
  3. hdu1007最近点对问题(分冶java)
  4. 项目上传github步骤
  5. 牛客练习赛26 E-树上路径 (树链剖分+线段树)
  6. mikadonic-iptables学习笔记
  7. go语言 c# 混合编程 pdf,C# 结合 Golang 开发
  8. Java语言实现word转PDF(10分钟解决)
  9. 单元测试、集成测试、系统测试的不同
  10. 逆向——微信接收文本图片消息
  11. 大数据与云计算技术周报(第150期)
  12. 连续型随机变量与离散型随机变量
  13. 今日学习——冒泡排序
  14. IE 调试工具 IETester+DebugBar
  15. 微信订阅消息推送(记录)
  16. 【SpringCloud】SpringCloud简介
  17. MCU-51:单片机DS18B20温度报警器
  18. 1114 Family Property (25分) (并查集) 复杂题 经典并查集
  19. 阿里P6架构师的成长之路,我只用了5个月.....
  20. 【51NOD 1585】买邮票送邮票

热门文章

  1. Android学习笔记---29_构建soap协议内容,发送xml数据和调用webservice,手机号码归属地查询器
  2. oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
  3. torch.cuda.is_aviaiable() 返回值为False的问题
  4. eclipse 导出jar 没有主清单属性的解决方法
  5. VC助手使用问题————all instance of the license* are in use .VA will be disabled
  6. linux查询配置基础命令,Linux查看系统配置常用命令
  7. 随想录(objc的编译)
  8. python3.7.3安装失败_python 3.7.3安装web.py报错解决方法
  9. 电脑编辑安卓分区_如何使用手机APP,编辑文字给屏幕发送节目。
  10. 什么相片可以两张弄成一张_怎么将两张图片合成一张?