python对文件操作的统一步骤_python-文件操作

打开文件的模式有:

r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】

w,只写模式【不可读;不存在则创建;存在则清空内容】

x, 只写模式【不可读;不存在则创建,存在则报错】

a, 追加模式【可读;   不存在则创建;存在则只追加内容】

"b"表示以字节的方式操作

rb  或 r+b

wb 或 w+b

xb 或 w+b

ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

4.文件内置函数flush

flush原理:

文件操作是通过软件将文件从硬盘读到内存

写入文件的操作也都是存入内存缓冲区buffer(内存速度快于硬盘,如果写入文件的数据都从内存刷到硬盘,内存与硬盘的速度延迟会被无限放大,效率变低,所以要刷到硬盘的数据我们统一往内存的一小块空间即buffer中放,一段时间后操作系统会将buffer中数据一次性刷到硬盘)

flush即,强制将写入的数据刷到硬盘

5.文件内光标移动

read(3)代表读取3个字符,其余的文件内光标移动都是以字节为单位如seek,tell,read,truncate

f.seek(0)      #移动光标到开始,以文件起始为参照,以字节为单位

f.seek(3,1)     #seek第二个参数可以指定从哪开始,0表示开头,1表示当前位置,2表示末尾

print(f.tell( ))     #显示当前光标位置

6.上下文管理

with open('a.txt','r') as read_f,open('b.txt','w') as write_f:

data=read_f.read()

write_f.write(data)

7.文件的修改

import os

with open('a.txt','r',encoding='utf-8') as read_f,\

open('.a.txt.swap','w',encoding='utf-8') as write_f:

for line in read_f:

if line.startswith('hello'):

line='哈哈哈\n'

write_f.write(line)

os.remove('a.txt')

os.rename('.a.txt.swap','a.txt')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值