python文件操作

对文件的操作有2种,文本文件、二进制文件(视频,图片)

open方法基本使用

open(file,mode = 'r',encoding = None)

几种打开模式:

'r': 只读模式
'w':写模式,如果文件在,先清空 危险!
'x':创建模式,如果文件在,会报错
'a':类似日志
'b':二进制模式
't':文本模式
'+':r+w

⼀个⽂件对象被open⽅法创建后,这个对象可⽤的有下⾯这些

close 关闭⽂件
closed 查看⽂件是否已关闭
encoding 返回⽂件的编码
flush 把缓存⾥的写⼊的数据强制刷新硬盘
isatty 返回⽂件是否是'interactive'数据流,⽐如是个命令⾏终端,(在unix系统,⼀切皆⽂件)
mode 返回当前⽂件模式
name 返回⽂件名
read 读指定⻓度的内容,f.read(1024) 读1024字节, 不指定参数的话,就读所有内容
readable ⽂件是否可读
readline 读⼀⾏
readlines 读所有,每⾏列表形式返回
seek 把光标移到指定位置
seekable 该⽂件光标是否可移动
tell 返回当前光标位置
truncate 截断⽂件, f.truncate(100), 从⽂件 开头截断100个字符,后边的都扔掉
writable 是否可写

创建模式:创建文件

f = open("contacts.txt", 'w') # 创建⼀个⽂件对象(⽂件句柄),存为变量f f.write("alex 133332") # 写⼊
f.close() # 关闭这个⽂件
f.write('dddd') # 关闭后,没办法再写⼊了

按⾏读取&循环:

f = open("model_contacts.txt") # 默认`rt`模式
print(f.readline()) # 读第1⾏
print(f.readline()) # 读第2⾏
print(f.readline()) # 读第3⾏
print('----循环读后⾯的-----')
for line in f:
 print(f.readline())

⽂件⾥查找内容:

f = open("model_contacts.txt")
for line in f:
 if "梦⽵" in line:
 print(line)

f = open("contacts.txt",'w')
f.write("lc 21")