读取文件
语法格式:open(path, flag [,encoding][,errors])
解释:
path:⽂件路径
相对路径 : 1-读⽂件.py
绝对路径 : C:\Users\xlg\Desktop\⽂件操作\1-读⽂件.py
flag:⽂件的打开⽅式
r :以只读的⽅式打开⽂件,⽂件描述符放在⽂件的开头位置
rb : 以⼆进制格式打开⽂件,⽂件只读,⽂件描述符放在⽂件的开头位置
r+:以读写的⽅式打开⽂件,⽂件描述符放在⽂件的开头位置
w:以只写的⽅式打开⽂件,如果⽂件存在,那么覆盖该⽂件,如果⽂件不存在,则会创建⽂件。
wb:以⼆进制格式打开⽂件,⽂件⽤于写⼊,如果⽂件存在,那么覆盖该⽂件,如果⽂件不存在,则会创建⽂
件。
w+:以读写的⽅式打开⽂件
a:打开⼀个⽂件⽤于追加写⼊,如果⽂件不存在,则会创建⽂件;如果⽂件存在,则会在⽂件末尾写⼊内容。
a+:以读写的⽅式打开⽂件
encoding:⽂件的编码格式
如果有该参数,文件的编码格式是什么,这里赋值同样的编码格式
errors:错误处理
strict:默认⽅式,如果遇到⾮法字符,抛出异常
ignore:忽略⾮法字符
replace:⽤?代替⾮法字符
open:返回值:⽂件描述符
•注:当⽂件不存在时,抛出异常:FileNotFoundError
# 打开普通文件
# 相对路径
f1=open("2.txt",mode="r")
print(f1)
# 绝对路径
f2=open(r"C:Usersdaiyongdong0520Desktop1.txt",mode="r")
print(f2)
# 设置编码方式
f1=open("2.txt",mode="r",encoding="utf-8")
print(f1)
f2=open(r"C:Usersdaiyongdong0520Desktop1.txt",mode="r",encoding="utf-8")
print(f2)
# 1.2 以二进制形式打开文件
f1=open("2.txt",mode="rb")
print(f1)
# 1.3 指定错误处理方式
f1=open("2.txt",mode="r",encoding='cp936', errors="ignore")
print(f1)
# 1.4 当文件不存在,以读的方式,会返回错误
# f1=open("2.txt",mode="r",encoding="utf-8")
# print(f1)
# 2 读取文件
# 语法格式:read([size]) : 会记录读取的内容,记录光标位置
# read()
f1=open("2.txt","r",)
str1= f1.read() #读取所有
print(str1)
str2= f1.readline() #读取一行
print(str2)
str2= f1.readline(20) # 读取多少个字符
print(str2)
str2= f1.readlines() # 读取文件加入list
print(str2)
# # print(f1.read(3)) 读取3个字符
print(f1.read(3))
print(f1.read(3))
# print(f1.seek(3)) 设置光标位置
# print(f1.tell()) 返回当前光标位置
f1.close()
f2.close()
# 读文件--完整过程
try:
f2=open("2.txt",mode="r",encoding="utf-8")
print(f2.read(4))
except FileNotFoundError as e:
print("文件未找到")
finally:
if f2:
f2.close()
# 读文件--简写方式
# 解释:with和上⾯的try的效果是⼀样的,但是代码相对简洁,⽽且不必我们
# ⾃⼰调⽤close(), 系统会⾃动执⾏close()
with open("2.txt","r",encoding="utf-8")as f1:
print(f1.read(6))
写文件
语法格式:open(path, flag [,encoding][,errors])
解释:
path:⽂件路径
flag:⽂件的打开⽅式
encoding:⽂件的编码格式
errors:错误处理
open:返回值:⽂件描述符
注:当⽂件不存在时,抛出异常:FileNotFoundError
# 读取文件
f1=open("file.txt","w",encoding="utf-8")
f1.write("1234455")
f1.close()
写入文件/读取文件 简写方式
# 写文件--简写方式
with open("file.txt","w",encoding="utf-8") as f1:
f1.write("3424324")
# 读文件--简写方式
with open("file.txt","r",encoding="utf-8") as f2:
print(f2.read(6))