目录
一、打开文件
语法:fp=open('文件名','模式')
●fp:文件句柄对象,包含了打开文件的各种状态和对文件的资源访问符
●文件名:文件的路径和名称,不能包含特殊字符
●模式:制定文件如何被使用
二、关闭文件
语法:fp.close()
三、不同打开文件模式的区别
模式 | 描述 |
r | read只读 |
w | write只写。如果文件已存在,会被清空;如果不存在,会创建文件。 |
a | append追加。如果文件已存在,会直接追加到文件末尾;如果不存在,会创建文件。 |
r+ | 可读可写。不创建文件。如果文件不存在,会报错。 |
w+ | 可读可写。如果文件已存在,会被覆盖;如果不存在,会创建文件。 |
a+ | 可读可写。如果文件已存在,会直接追加到文件末尾;如果不存在,会创建文件。 |
rb | read binary二进制读取 |
wb | write binary二进制写入 |
ab | append binary二进制追加 |
四、写入文件
fp=open('a.txt','w')
fp.write('你好\n')
fp.close()
五、读取文件
方法 | 描述 |
read([size]) | 读取指定数量的字符。如果文件小于size则读取整个文件。size为负数也读取整个文件。 |
readline() | 读取一行字符 |
readlines() | 读取所有行,以list<str>形式返回 |
例:
1、读取所有数据
fp=open('a.txt','r') content=fp.read() fp.close() print(content)
2、读取一行
fp=open('a.txt','r') line=fp.readline() fp.close() print(line)
3、读取所有行
fp=open('a.txt','r') inest=fp.readlines() fp.close() print('读取了'+len(lines)+'行内容') for line in lines: print(line)
六、二进制读写
用bytes对象读写二进制文件,一个bytes占8位
1、bytes的使用
b=bytes([19,28,97]) print(b[0]) #19 print(len[b]) #3 b2=bytes([256,19]) #报错
2、写入二进制数据
b=bytes([19,28,97]) fp=open('data','wb') fp.write(b) fp.close()
3、读取二进制数据
fp=open('data','rb') b=fp.read() fp.close() print(len(b)) #3 print(b[0]) #19