注意:1.系统不允许普通程序直接操作磁盘,所以读写文件实际是请求系统打开文件对象(文件描述符)
2.python语言是按顺序执行的,一条条代码往下执行
【读】
1、读文件模式打开文件对象 open()
a. 读取 utf-8 文本文件 -->‘r’
f = open('/Users/michael/test.txt', 'r')
b. 读取二进制文件(如视频、图片等)-->'rb'
>>> f = open('/Users/michael/test.jpg', 'rb')
>>> f.read()
b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节
c. 读取非UTF-8编码文件--> open()传入encoding参数
>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
>>> f.read()
2、打开失败:返回错误码
打开成功: 全读-----f.read()------ (小文件)一次性全部读取,数据太多内存会爆
大小读---f.read(size)--(不确定文件大小)
按行读---f.readline()---(配置文件)
关闭-----f.close()
3、f.read()失败,导致无法关闭。 使用try...finally, 无论前面是否出错 都能关闭文件。
try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
【写】
1、写文件 open() (直到调用close()才能确保数据全部写入,否则可能只写了一部分)
a. 写文本文件 -->‘w’
b. 写二进制文件 -->‘wb’
【查看操作系统类型】
>>> import os
>>> os.name # 操作系统类型
输出: posix--Linux、Unix (详细信息用uname() 但是Windows下面没有)
nt------Windows