文件 file
文件是用于数据存储的单位
文件通常用来长期存储数据
文件中的数据是以字节为单位进行顺序存储的
文件的操作流程:
1、打开文件
2、读写文件
3、关闭文件
注:任何的操作系统,同一个应用程序同时打开文件的数量有最大数限制,所以在用完文件后需 要关闭
文件的打开函数 open
open(file, code=“rt") 用于打开一个文件,返回此文件流对象,如果打开失败,则会触发OSError 错误
文件的关闭方法:
F.close() 关闭文件,释放系统资源
![](https://i-blog.csdnimg.cn/blog_migrate/a9c7a887441f1c76d3f410d44ab4da89.png)
说明:
在文本文件模式下,各个操作系统的换行符在读入python内部时转换为字符“\n”
文件的迭代读取:
open 返回的文件流对象是可迭代对象
示例:
f = open('myfile.txt')
for line in f:
print(line)
文本文件的写操作:
写文件的模式:
“w”
“x”
“a“
见文档
二进制文档操作:
默认文件中存储的都是以字节为单位的数据,通常有人为规则的格式,需要以字节为单位进行读写
f.read()的返回类型:
1、对于文本模式(“t")打开的文件,返回字符串(str)
2、对于二进制模式(“b“)打开的文件,返回字节串(bytes)
f.write(x)
1、对于文本模式,x必须为字符串
2、对于二进制模式,x必须为字节串
以十六进制方式查看文件内容的命令:
$ xxd 文件名
f.seek () 函数
f.seek(偏移量, 相对位置)
偏移量:
大于0的数代表向文件尾方向移动
小于0代表向文件头方向移动
相对位置:
0代表从文件开始偏移
1代表从文件当前位置开始偏移
2代表从文件尾开始偏移
作用:
改变当前文件的读写位置
f.tell()函数:
作用:
返回当前文件读写位置
文件操作的两种模式:
“b” 二进制模式
“t” 文本模式
文件操作:
读 read / readline /readlines
写 write / writelines
汉字编码:
国标系列:
GB18030(二字节或四字节编码,共27533个汉字)
GBK(二字节编码,共21003个汉字)
GB2312(二字节编码,共6763个汉字)
(Windows常用)
国际标准:
UNICODE32(UNICODE16) <---> UTF-8
(Linux , Mac OS X, IOS, Android等常用)
说明:
python3的字符串内部是用UNICODE来存储字符
python 编码(encode)
![](https://i-blog.csdnimg.cn/blog_migrate/7d31e9996d6f21bf89aa873e176cf7a8.png)
编码注释:
在python源文件第一行或第二行写入如下内容是告诉解释执行器此文件的编码类型是什么
# -*- coding: gbk -*-
# 设置源文件编码格式为gbk
或
# -*- coding : utf -8 -*-
#设置源文件编码格式为utf-8