首页 > 代码库 > Day19-文件的操作
Day19-文件的操作
1 文件操作的三个步骤
打开文件 open()
操作文件 read()或者write()
关闭文件 close()
2 打开文件
open()函数默认的是 读 模式, 默认的编码是 系统当前的编码 .
f = open("test")data = http://www.mamicode.com/f.read()"F:/python自主学习/PyCharm/Day19/文件操作.py", line 8, in <module> data = http://www.mamicode.com/f.read()>
open()操作可能会引发异常, 诸如 IOerror
open()函数会返回的内容叫文件句柄, 是一个可迭代对象
f = open("test",encoding="utf8")for line in f: print(line.strip())
3 模式介绍
三个基本模式r w a
r读模式
这个模式只能读, 打开后光标位置在0处
w写模式
这个模式只能写, 不能读, 打开后的光标在0处
该模式打开之后, 会直接将源文件清空, 也正是因为这个原因光标才在0处
a追加模式
这个模式只能写, 不能读, 打开后的光标文件末尾处
写入的时候, 不会因为光标的位置在哪而写入哪儿, 而是始终在文件末追加
可读可写的+模式
r+模式
可读可写, 最老实的模式, 光标刚打开的时候是在0位置
读完之后光标会随着读的位置变化而变化
写入的时候不会清空原有内容, 只会单纯的在光标位置处写入内容, (因而在光标0处写入一个字符只会改变光标0处的内容)
w+模式
可读可写, 保留w的特性, 上来就清空源文件
a+模式
可读可写, 保留a的特性, 写入不根据光标位置
4 文件的读操作
read()方法
读取整个文件
读取单位是字符
可以传入int参数, 用于获取光标到目标位置字符的内容, 最开始打开文件的时候光标在文件开始位置
f = open("test", encoding="utf-8")data = http://www.mamicode.com/f.read(5)>
readline()
读取一行
光标到下一行行首
readlines()
返回一个可迭代对象, 每一个元素是一行内容
用作遍历的时候效果相同的还有文件句柄, 但是最好使用文件句柄, 这样更省内存(文件句柄是用一行拿一行)
f = open("test",encoding="utf8")for line in f: print(line)
readable()
查看文件是否可读, 返回的是布尔类型
5 文件的写操作
write()
将需要写入的内容写入到文件中
writelines()
与write()方法的区别就在于, 传入的参数是一个列表, 该方法不自动增加换行, 需要手动添加换行符号
writeable()
查看文件是否可读
6 光标的操作
seek()
传入int参数可以设置光标的位置, 该位置从0开始, 是以字节的方式排序得到的顺序
tell()
查看当前光标的位置
其中换行占2个位置
7 with语句
with语句自带使用close()方法, 这也是为了防止打开文件忘记关闭
with open("test",encoding="utf8") as f_read, open("test2","w", encoding="utf8") as f_write: for line in f_read: f_write.write(line)
8 flush方法
在文件的操作过程中, 对文件的操作不会立马写入磁盘保存, 一般情况下是在调用close()的时候写入磁盘保存
如果需要立马写入磁盘保存, 就可以使用flush()方法来实现
Day19-文件的操作