使用open()打开文件时必须要指定打开文件所要做得操作(读、写、追加)。如果不指定操作类型,则默认是读取文件
用的较多的是r、w、a
r 表示只读
w 表示可写,文件不存在时会创建文件,文件存在时会覆盖掉之前的内容
a 表示追加内容,如果文件不存在会创建文件,文件存在时直接向里面追加内容
r+ 可读可写
w+ 可读可写
a+ 可读可追加内容
一、读取文件
读取内容过多,会导致内容溢出,引发程序崩溃等问题,所以可以设置每次读取的大小
file_name="dawenjian.txt"
try:
with open(file_name,encoding="utf-8") as file_obj:
#读取到的内容
read_content=""
#每次读取的字符设置为4
count=4
while True:
content=file_obj.read(count)
#检查是否读取到了内容,读取完毕,退出循环
if not content:
break
read_content+=content
except FileNotFoundError:
print(f"{file_name}文件不存在")
print("读取文件的内容:", read_content)
二、覆盖写入
file_name在执行本次写入之前如果有内容的话,会被新内容覆盖
file_name="dawenjian.txt"
with open(file_name, "w") as file_obj:
#如果之前有内容会把之前的覆盖掉
#写入会返回写入字符的个数
n=file_obj.write("ppppppppp\n")
file_obj.write("ooo") #可以分多次写入
print("写入字符的个数:", n)
三、追加写入
file_name里面在执行本次写入之前有内容的话,会保留,新内容往里面追加
file_name="dawenjian.txt"
with open(file_name, "a") as file_obj:
#如果之前有内容,不会把之前的覆盖掉
#写入会返回写入字符的个数
j=file_obj.write("\nppppppppp\n")
print("写入字符的个数:", j)