Python 文件操作
常见的字符编码格式
- Python的解释器使用的是Unicode(内存)
- .py文件再磁盘上使用UTF-8存储(外存)
#encoding=gbk #设置编码格式
文件的读写操作
- 内置函数open()创建文件对象
- 语法规则
file=open(filename [,mode,encoding])
常用的文件打开模式
- 文件的类型
文本文件:存储的是普通“字符”文本,默认Unicode字符集,可以使用记事本程序打开
二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开,举例:mp3音频文件,jpg图片,doc文档等 - 打开模式
r 以只读模式打开文件,文件的指针将会放在文件的开头
w 以只写模式打卡文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针再文件的开头
a 以追加模式打卡文件,如果文件不存在则创建,文件指针再文件开头,如果文件存在,则文件末尾追加内容,文件指针在源文件末尾
b 以二进制方式打开文件,不能单独使用,需要与其它模式一起使用,rb、wb
+ 以读写方式打开文件,不能单独使用,需要与其它模式一起使用,a+
文件对象的常用方法
-
read([size])
从文件中读取size个字节或字符的内容返回,若省略[size],则读取到文件末尾,即一次读取文件所有内容 -
readline()
从文本文件中读取一行内容 -
readlines()
把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回 -
write(str)
把字符串str内容写入文件 -
writelines(s_list)
把字符串列表s_list写入文本文件,不添加换行符 -
seek(offset,whence)
把文件指针移动到新的位置,offset表示相对于whence的位置;offset为正往结束方向移动,为负往开始方向移动
whence不同的值代表不同的含义:
0:从文件头开始计算(默认值)
1:从当前位置开始计算
2:从文件尾开始计算 -
tell()
返回文件指针的当前位置 -
flush()
把缓冲区的内容写入文件,但不关闭文件 -
close()
把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源
with语句(上下文管理器)
- with语句可以自动管理上下文资源,不论什么原因挑出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
#自动调用__enter__()方法,并将返回值赋值给src_file
with open('logo.png', 'rb') as src_file:
src_file.read()
#离开运行时上下文,自动调用上下文管理器的特殊方法__exit__()