文件操作
1.文件打开 (open)
- read (r) : 只读 , 打开后不能编写 , 打开时如果文件不存在会报错 .
- write (w) : 只写 , 打开后不能读取只能编写 , 编写打开时会先清空原文件内容 . 如果文件内容不存在会新增一个 .
- append (a) : 只能追加 , 不能读 . 将新内容追加到原内容之后 . 如果文件内容不存在会新增一个 .
- 书写规范
file_object=open("log.txt",mode='r',encoding='utf-8') file_object.read() file_object.write("填要写入的内容")
file_object.append("填要追加的内容")
- r+ : 可读可写 .
- 读 : 默认从0的位置开始读 , 也可以通过seek调整光标位置 .
- 写 : 写入时根据当前光标位置进行 , 可能会将其他文字覆盖 , 可以通过seek调整光标位置 .
- w+ :
- 读 : 默认光标永远在最后或0 , 读取时可通过seek调整光标位置 .
- 写 : 写入时会将文件先清空 .
- a+ :
- 读 : 默认光标永远在最后 , 通过seek调整光标位置后 , 再进行读取当执行追加时光标自动跳到最后 .
- 写 : 永远写在最后 .
2.文件操作
- 读 :
- read() : 读取所有内容到内存 , 内容过多容易造成崩溃。
- read(1024) : 如果是二进制rb读取文件,则是每次读1024个字节;如果是r读取文件,则是每次读取1024个字符。
- readlines() : 所有文件读取到内存 , 按照每一行分割到列表中 . \n换行符 , 文件内不显示 , 实际换行后有换行符。
- readline():每次读取一行;返回的是一个字符串对象,保持当前读取位置,即光标会停在读取数据的位置。
- readline(2):表示读两个字符。
- 写:
- write('字符串')
obj = open('a.txt',mode='w',encoding='utf-8') obj.write('你好') obj.close()
- write('二进制')
obj = open('a.txt',mode='wb') v = '你好'.encode('utf-8') obj.write(v) obj.close()
3.光标操作
- seek():移动光标到指定字节的位置。
- tell():查看当前光标所在位置。
3.文件关闭
- file_object.close() : 关闭时会将内容强制存到硬盘