初学Python-day14 文件处理2
文件的操作
1.过程
找到文件-->打开文件-->读取文件-->关闭文件
2.找到文件
相对路径:如:a.txt
绝对路径:磁盘根目录到当前文件的路径,如:c/windows/test/a.txt
3。打开文件的函数
open(file, mode='r', endcoding=None, errors=None)
file:要打开的文件
mode打开的方式
endcoding 字符编码 一般用utf-8
error 错误处理(igmore忽略错误)
4.返回值
打开文件的对象,之后的操作针对此对象操作
5.打开的方式
方式 | 说明 |
r | 以只读的方式打开 |
rb | 以二进制的形式打开 |
r+ | 以读写的方式打开 |
w | 以清空的方式打开,如果文件不存在则尝试创建 |
wb | 以二进制清空写的方式打开,如果文件不存在则尝试创建 |
w+ | 以读写的方式打开,如果文件不存在,则尝试创建 |
a | 打开一个文件用于追加写,如果文件不存在,则尝试创建 |
ab | 以二进制的方式打开一个文件,用于追加写,如果文件不存在,则尝试创建 |
a+ | 打开一个文件用于读写,如果文件不存在,则尝试创建 |
6.使用
1 open('test_file.py', 'w', encoding='utf-8')
7.写入文件(注意要关闭close)
函数 | 函数说明 |
write() | 写入 |
writelines() | 写入多行 |
flush() | 将内容从缓冲区写入文件 |
示例:
f = open('test_file.py', 'w', encoding='utf-8') f.write('hello world!') # f.flush() f.close() f.writelines(['hello\n', 'world\n', '!']) f.close()
8.读取文件
函数 | 函数说明 |
read() | 读取全部内容 |
readline() | 读取一行 |
readlines() | 读取所有行(以列表形式返回) |
next() | 调用next返回读取内容 |
示例:
1 f = open('test_file.py', 'r', encoding='utf-8') 2 print(f.read()) 3 print(f.readline()) 4 print(f.readlines()) 5 f.close()
9.自动关闭(不用手动close)
with open('test.py', 'r', encoding='utf-8') as f: f.read()
10.编码与解码
encode(编码):将字符串进行编码
decode(解码):将编码进行解码
11.pickle模块
说明:可以将数据序列化到文件中,在反序列化获取,相当于写入文件时什么类型,读取就是什么类型
import pickle
dump() 将数据序列化后写入到文件中
dumps() 将数据序列化后直接返回
load() 将数据从文件中反序列化取出
loads() 将序列化后的数据直接反序列化
1 import pickle 2 dic1 = {'name':'john','age':18} 3 with open('test.txt', 'wb') as f: 4 pickle.dump(dic1, f) 5 6 7 with open('test.txt','rb') as f: 8 a = pickle.load(f) 9 print(a)