Python基础-文件操作
常见的文件类型
- txt
- csv
- jaon
- html
- mp3,mp4
文件操作流程
- 打开 ---->open()
- 读写 ---->read() write()
- 关闭 ---->close()
文件的打开与关闭
打开
内置函数:open(),创建一个file对象,之后菜能用它调用相关的方法。
语法格式:
file_object=open(file,[,mode],[,encoding='utf-8'],[,buffering])
'''file_object --->open返回的文件对象
file ---->待打开文件
mode ---->指定模式:只读,写入,追加等等 默认为只读
encoding ---->指定文件编码,通常使用'utf-8'/'GBK'
buffering ---->若设置为0,不会有寄存;设为1会有寄存行;设为大于1的数表示是寄存区的缓存大小;设为负数,寄存区的缓存大小为系统默认'''
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
文件对象的属性
属性 | 描述 |
---|---|
f.name() | 返回文件名称 |
f.mode() | 返回访问文件的访问模式 |
f.closed | 如果文件已关闭,返回True,否则,返回False |
关闭
f.close()
#在使用完关闭文件,节省计算机资源提高性能
文件的读写
读
- f.read()
f.read([size])
#默认读取全部内容,有值则读取从文件指针开始的size个字节数
-
f.readline()
- 读取一行
-
f.readlines()
- 读取所有行
写
- f.write()
- 将字符串写入文件,返回的是写入的字符长度。
- f.writelines()
- 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
注意:
1.在进行文件写操作的时候,当完成写时指针指向文件末尾,此时进行读,读出的是一个空列表,需要将指针移动到起始端(f.seek(0,0),或者重新打开文件)
2.如果打开一个不存在的文件并进行写操作,那么就会创建这个文件
定位读取
-
f.tell()
- 返回文件当前位置
-
f.seek()
- 设置文件当前位置
f.seek(offet[,from]) # offset 要移动的字节数 # from 指定偏移的参考位置: 0从开头偏移,1从当前位置偏移 2从末尾偏移