python 文件基本操作

python对文件的操作步骤基本分为:

打开文件open()→操作文件(读read() / 写write())→关闭文件close()。

文件读取:
这里case.txt文件在当前目录下,所以在不写绝对路径的情况下可以直接打开。在这里插入图片描述
需要注意的是每次打开文件后一定要记得close(),因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的,但是需要每次都去调用close()函数,有点繁琐。
可以使用with open() as 方法,会自动关闭文件。
在这里插入图片描述

下图可以看到open()函数,默认参数mode=‘r’,所以在打开文件的时候不传mode参数,默认是:r 以只读的方式打开
在这里插入图片描述
文件不存在会报错:
在这里插入图片描述
readline():
如果文件内容有多行,但我只想读取第一行数据可以用readline(),其读取结果是字符串:
在这里插入图片描述

在这里插入图片描述

readlines():
一下读取所有行,读取结果作为一个字符串列表返回。
在这里插入图片描述
如果在只读的模式下写入的话肯定会报错:文件不可写
在这里插入图片描述
所以如果想文件写入,需要选择文件的打开模式mode=‘w’;w只写模式打开文件
在这里插入图片描述
写入后查看文件内容时显示乱码,因为在写入的时候编码格式不正确,默认ASCII编码,中文会显示乱码。
在这里插入图片描述
所以需要指定编码格式utf-8
在这里插入图片描述
在这里插入图片描述
w模式如果文件不存在就会新建一个文件,如果文件存在就会覆盖原文件。
这里case_01.txt内容如上,如果在w模式下我还想写入其他内容,那么就会覆盖掉原内容。
在这里插入图片描述
在这里插入图片描述
如果想在原文件内容基础上继续写入内容,可以用mode=‘a’模式;
a只追加写的模式。
文件不存在就会新建,文件存在会在文件的末尾追加写入内容。
在这里插入图片描述
在这里插入图片描述
对于非文本文件,使用’b’模式,以字节的方式进行操作,但是必须与r,w,a组合使用;
rb:以字节的方式进行读取
wb:以字节的方式进行写入
ab:以字节的方式进行追加写入
如下打开一张图片要用rb模式。写入同样以字节方式。
在这里插入图片描述

如果想同时又读又写可以使用"+"
r+:读+追加模式,可读可写,与‘r’相同之处在于也是必须打开一个已有的文件,不同的是它可写可读,而且写与读不分先后,即随时都可进行读与写。
在这里插入图片描述
如果先写在读的话光标会移动到末尾,将读不到数据的
在这里插入图片描述
w+:写读模式,打开创建新文件,因此需要先把内容写进去在读。即保证文件有内容,可以通过seek()方法移动光标位置来读自己想要的部分。
在这里插入图片描述
a+:追加读写模式
追加读写模式,打开文件方式同‘a’一样,写方式也和’a’一样,但是可以读。且是任意时刻读写。需要注意的是你若刚用‘a+’打开一个文件,则不能立即读,因为此时光标已经是文件末尾
在这里插入图片描述

文件读写模式列表:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久醉绕心弦,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值