1. 文件读取的三部曲: 打开–> 操作 -> 关闭
打开
f = open('/etc/passwd1')
print(f)
操作
content = f.read()
print(content)
写操作
f.write("hello")
判断文件对象拥有的权限
print(f.readable()) # True
print(f.writable()) # False
关闭
f.close()
2.文件读取模式的选择
r:
只能读, 不能写;
读取的文件不存在, 是否会报错;
FileNotFoundError: [Errno 2] No such file or directory: '/etc/passwd1'
f = open('/tmp/passwd',mode='r')
print(f.read())
r+:
可以执行读写操作;
文件不存在, 报错;
默认情况下, 从文件指针所在位置开始写入;
写入的返回值是写入内容的长度
f = open('/tmp/passwd',mode='r+')
print(f.read())
print(f.write('456'))
print(f.read())
w:
只能写入,不能读取文件
文件不存在, 不报错并且会建立文件
文件存在,先清空内容,再操作
f = open('/tmp/passwd1',mode='w')
print(f.write('123'))
f.close()
w+:
可读可写
文件不存在, 不报错并且会建立文件
会清空文件内容
f = open('/tmp/passwd2',mode='w+')
print(f.write('456'))
print(f.read())
f.close()
a:
只能写,不能读
文件不存在, 不报错
不会清空文件内容
f = open('/tmp/passwd2',mode='a')
print(f.write('456'))
print(f.read())
f.close()
a+:
可读可写
文件不存在, 不报错
不会清空文件内容
f = open('/tmp/passwd2',mode='a+')
print(f.write('456'))
print(f.read())
f.close()
如果读取图片,音乐或者视频(非文本文件),需要通过二进制的方式进行读取与写入;只需要在以上模式后面加上b
#先读取二进制文件内容,保存在变量content里面
f1 = open('tupian.png',mode='rb')
content=f1.read()
f1.