day 09
01.文件处理
-
打开
文件路径--》打开模式--》write
f=open(r'文件路径','打开模式',encoding='文本编码格式')
-
修改/读取文件
- 写入f.write('''写入文件内容''')
- 读取f.read()
-
保存文件
f.flush() # 快速保存
-
关闭文件
python解释器是一个软件,对文件的操作需要通过操作系统来完成
f.close # 告诉操作系统关闭文件
02.文件的三种打开模式
- r read #读取文件内容 只读
- w write #写入文件内容(覆盖式) 只写入
- a append #追加写入文件内容 只写入
-
- t rt/wt/at 对文本文件操作
- b rb/wb/ab 对多媒体文件(图片、音频、视频)操作,文件为二进式模式不需要制定字符编码
03.绝对路径和相对路径
- 从最盘符开始
- 执行文件所在文件夹下的文件名,执行文件和打开文件要处于同一个文件夹下
04.with管理文件上下文
自动关闭 with open()as f: 在缩进代码执行结束后自动关闭文件(接触操作系统的占用)
如在缩进中将文件内容作为变量值符只给一个变量名,在关闭文件后定义的变量还是存在于内存中
05.文件的高级应用(尽量不要使用)
-
可读可写
- r+
- w+
- a+
-
光标移动
-
一个字节表示8个二进制数,一个字符就是你看到的一个字符,不一定由几个字节组成,英文1个中文3个
-
一字节为单位移动的
-
seek;
with open('test.py','rb') as fr: fr.seek(3) # 移动了三个字节,一个中文或三个英文字母。默认从头开始 # whence;# 规定只有0、1、2三种模式 fr.seek(3,0) # 0从开头移动3位 print(fr.read().decode('utf8')) fr.seek(3, 1) # 1从当前位置开始移动3位 print(fr.read().decode('utf8')) fr.seek(0, 2) # 2在文件尾部 print(fr.read())
-
tell:告诉你当前所在位置
with open('test.py', 'rb') as fr: # fr.seek(3, 0) # print(fr.tell())
-
truncate:截断
with open('test.py','ab') as fa: fa.truncate(2) # 将两个字符之后的内容删除
-
-
一字符为单位移动光标
# read with open('test.py','r',encoding='utf-8) as fr: print(fr.read(3)) # 表示从第三个字符开始读取,不加默认读取所有 # ‘中’和‘a’都是一个字符
-