0 文件:分为文本文件和二进制文件
文本文件:
由单一特定的编码组成,如utf-8;
存储着的长字符串
例如 .txt文件 .py文件
二进制文件
由0和1组成,没有统一字符编码
一般存在二进制的0和1的组织结构
例如 .png图片文件 .avi视频文件
1 文件的打开与关闭
f = open(文件名, 打开模式, 编码方式)
f.close()
with open(文件名, 打开模式, 编码方式)as f: with自开盒,自动关闭,但是其后续要用到它的语句要进行缩进
f = f.read(...)
pass
文件名
文件的路径加名称:
绝对路径: 形如--D/python/file.txt (windows如果直接拷贝路径的话要注意是\ (转义符)还是/ )
(非要用\ 的话要用 \\ ,这样用就是一个正常的斜杠,而不是转义符了)
相对路径: 如./pye/file.txt 其表示的含义是与文件的同级目录下的pye文件夹内的file.txt文件
./表示同级目录 ../表示上级目录 .../表示上上级目录
打开模式
r:只读模式,如果文件不存在,产生异常
w:覆盖写模式,文件不存在则创建,存在则覆盖
x:创建写模式,文件不存在则创建,存在则产生异常
a:追加写模式,文件不存在则穿件,存在则在文件最后追加内容
b:二进制文件模式
t:文本文件模式(默认值)
+:与r/w/x/a 一同使用,在原功能基础上增加同时读写的能力,如r+ w+ x+ a+
2 文件的读写
读:
f.read(size=x) 参数无,读入全部内容; 参数有,读入前size长度内容
f.readline(size=x) 读入一行内容; 如果给出参数,读入改行前size长度
f.readlines(hint=x) 读入文件所有行,以每行为元素形成列表; 如果给出参数,读入前hint行
写:
f.write(S) 向文件写入一个字符串或字节流
f.writelines(line) 将一个元素全为字符串的列表写入文件
f.seek(set) 改变当前文件操作指针位置,0 文件开头, 1 当前位置, 2 文件结尾
每次操作完文件,指针一般都在文件结尾,如果想要覆盖,或者修改的话,就需要调动指针