标签:ble 作文件 异常 lis table bre pre 读写 效率
在计算机中操作文件的套路是分为三个步骤:
1)打开文件
2)读/写文件
3)关闭文件
序号 | 函数/方法 | 说明 |
---|---|---|
1 | open |
打开文件,并且返回文件操作对象 |
2 | read |
将文件读取到内存 |
3 | write |
将指定内容写入文件 |
4 | close |
关闭文件 |
open
只负责打开文件,并且返回文件对象
read/write/close
三个方法都需要通过文件对象来调用
read
方法读取文件需要注意一下几点:
1)open
函数的第一个参数是要打开的文件名(文件名区分大小写)
2)read
方法一次性读取文件所有内容并返回
3)close
只负责关闭文件,如果忘记关闭文件,则会造成资源浪费或者影响后续对文件的访问
# 打开文件,指定编码格式,避免无法读取中文
f = open("a.txt",encoding="utf-8")
# 读取文件
content = f.read()
print(content)
# 关闭文件
f.close()
小提示:
开发过程中,通常会先编写 打开 和 关闭 的代码,再编写中间针对文件的 读/写 操作!
第一次打开文件的时候,文件指针指向文件的开始位置,当执行了read
方法后,指针会移动到文件末尾。
read
方法是一次性将文件读取到内存,然后返回一个文件对象,如果文件特别大的话,那么对内存的占用会非常严重,所以有了readline
方法
readline
方法一次性读取一行内容# 打开文件
f = open("a.txt",encoding="utf-8")
# 读取大文件
while True:
line = f.readline()
if not line:
break
# 每读取一行的末尾已经有了一个 \n
print(line,end="")
# 关闭文件
f.close()
默认情况下:open
函数是以只读方式打开文件。
语法格式:
f = open("文件名","访问方式",encoding="编码格式")
访问方式 | 说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常 |
w | 以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 |
a | 以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 |
r+ | 以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常 |
w+ | 以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 |
a+ | 以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 |
小提示
频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件
实战演练--写入文件实例
# 写模式,打开文件
f = open("b.txt","w",encoding="utf-8")
# 写入内容
f.write("今天天气真好!\n")
f.write("我们出去钓鱼吧!")
# 关闭文件
f.close()
小文件的复制思路是:打开一个文件,全部读取后写入到另外一个文件
# 打开读与写的文件
file_read = open("b.txt",encoding="utf-8")
file_write = open("c.txt","w",encoding="utf-8")
# 读取文件
text = file_read.read()
file_write.write(text)
# 关闭文件
file_read.close()
file_write.close()
大文件的复制思路是:打开一个文件,逐行边读边写。
# 打开读与写的文件
file_read = open("b.txt",encoding="utf-8")
file_write = open("c.txt","w",encoding="utf-8")
# 读取文件
while True:
line = file_read.readline()
if not line:
break
file_write.write(line)
# 关闭文件
file_read.close()
file_write.close()
标签:ble 作文件 异常 lis table bre pre 读写 效率
原文地址:https://www.cnblogs.com/OliverQin/p/12227481.html