java中的接口是类吗
378
2022-09-04
Python--文件操作(Python文件操作心得)
Python 基础-文件操作
文件处理流程
1.打开文件,得到文件句柄并赋值给一个变量
2.通过句柄对文件进行操作
3.关闭文件
r模式,默认模式,文件不存在则报错
w模式,文件不存在则创建,文件存在则覆盖
a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写日志文件的时候常用),追加模式是一种特殊的写模式
b(rb,wb,ab)模式:不用加encoding:utf-8
基本操作
打开文件
open(path, flag[, encoding][, errors])path:要打开文件的路径flag:打开文件的方式r 以只读的方式打开文件,文件的描述符放在文件的开头 rb 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头r+ 打开一个文件用于读写,文件的描述符放在文件的开头w 打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件wb 打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件w+ 打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件a 打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾a+ encoding:编码格式errors:错误处理path = r"C:\Users\Desktop\file1.txt"#ignore 忽略错误f = open(path, "r",encoding="gbk")
打开文件的模式有:
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】w,只写模式【不可读;不存在则创建;存在则清空内容】x, 只写模式【不可读;不存在则创建,存在则报错】a, 追加模式【可读; 不存在则创建;存在则只追加内容】
"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】w+,写读【可读,可写】x+ ,写读【可读,可写】a+, 写读【可读,可写】
"b"表示以字节的方式操作
rb 或 r+bwb 或 w+bxb 或 w+bab 或 a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
读文件内容
# 1、读取文件全部内容str1 = f.read()print(str1)# 2、读取指定字符数str2 = f.read(10)print("*"+str2+"*")str3 = f.read(10)print("*"+str3+"*")# 3、读取整行,包括"\n"字符str4 = f.readline()print(str4)str5 = f.readline()print(str5)# 4、读取指定字符数str6 = f.readline(10)print(str6)# 5、读取所有行并返回列表list7 = f.readlines()print(list7)# 6、若给定的数字大于0,返回实际size字节的行数list8 = f.readlines(20)print(list8)# 7、修改描述符的位置f.seek(10)str9 = f.read()print(str9)
关闭文件
f.close()
# 一个完整的过程try: f1 = open(path,"r", encoding="gbk") print(f1.read())finally: if f1: f1.close()
with open(path,"r",encoding="gbk") as f2: print(f2.read())
写文件
path = r"C:\Users\Desktop\file4.txt"f = open(path,"w")# 1、将信息写入缓冲区f.write("lee is a good man")# 2、刷新缓冲区# 直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入f.flush()f.write("lee is a good man\n")f.close()with open(path,"a") as f: f.write("good man")
with open('a.txt','w') as f: passwith open('a.txt','r') as read_f,open('b.txt','w') as write_f: data=read_f.read() write_f.write(data)
path = r"C:\Users\yanji\Desktop\day7\test1"with open(path,"wb") as f3: str = "lee is a good man" f3.write(str.encode("utf-8"))with open(path,"rb") as f2: data = f2.read() print(data) print(type(data)) newDate = data.decode("utf-8") print(newDate) print(type(newDate))
人生是条无名的河,是浅是深都要过; 人生是杯无色的茶,是苦是甜都要喝; 人生是首无畏的歌,是高是低都要唱。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~