(1)用open命令打开一个文件并赋值给一个变量,获得一个文件句柄python
(2)对文件句柄进行文件操做编码
(3)用close命令关闭文件spa
1 f = open("test","r+",encoding="utf-8") 2 date = f.read() 3 f.close()
f = open("文件绝对路径”,“文件要进行的操做”,编码格式)操作系统
1.f.read(),读取所有文件内容,文件较大时最好不要使用code
2.f.readline(),读一行文件内容blog
3.f.readlines(),以列表形式读取文件所有内容内存
4.f.close(),关闭文件utf-8
5.f.write(),往文件中写入内容ci
6.f.closed(),判断文件是否关闭it
7.f.seek(),移动光标至指定字节位置
8.f.tell(),告知当前光标所在的字节位置
9.f.truncate(),截断文件,从头至指定位置
10.f.flush(),刷新
原则:以什么方式保存就以什么方式打开,不指定编码格式python2默认ascii,python3默认utf-8
编码:encode
解码:decode
flush原理:
1.文件操做是经过软件将文件从硬盘读到内存
2.写入文件的操做也都是存入内存缓冲区buffer(内存速度快于硬盘,若是写入文件的数据都从 内存刷到硬盘,内存与硬盘的速度延迟会被无限放大,效率变低,因此要刷到硬盘的数据咱们统 一往内存的一小块空间即buffer中放,一段时间后操做系统会将buffer中的数据一次性刷到硬盘)
3.flush即,强制将写入的数据刷到硬盘
1 进度条 2 import sys,time 3 for i in range(50): 4 sys.stdout.write("%") 5 sys.stdout.flush() 6 time.sleep(1)
seek以字节方式读取,特别的,read(3)表明读取三个字符,seek有三种光标移动方式, seek(位置,参数),seek有三种位置参数0,1,2
seek(位置,0),表示相对于文件开头位置移动光标
seek(位置,1),表示相对于上一次光标所在的位置移动光标
seek(位置,2),表示相对于文件最后一个位置移动光标
文件句柄 = open("文件路径","操做模式")
打开文件的模式有:
r , 只读模式 [默认模式,文件必须存在,不存在则抛出异常]
w, 只写模式【不可读;不存在则建立;存在则清空内容】
x, 只写模式【不可读;不存在则建立,存在则报错】
a, 追加模式【可读; 不存在则建立;存在则只追加内容】
"+"表示能够同时读写某个文件
r+, 读写【可读,可写】
w+, 写读【可读,可写】
x+, 写读【可读,可写】
a+, 写读【可读,可写】
"b"表示以字节的方式操做
rb 或 r+b
wb 或 w+b
xb 或 w+b
ab 或 a + b
注:以b方式打开时,读取到的内容是字节类型,写入时也须要提供字节类型,不能指定编码