1、首先创建文本文件 .txt,文件名为 demo.txt
今天是周一,真该死啊
明天是周二,也该死
后天是周三,有动漫更新,还不错
大后天是周四,再过一天就放假了
周五了,明天就要休息了
2、打开操作 open() 中’r’ ‘w’ ‘a’ 的不同作用
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
.......
3、执行操作,并针对.read(),readline()、readlines() 操作
(1)read() 是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中。
利:方便、简单;一次性独读出文件放在一个大字符串中,速度最快。
弊:文件过大的时候,占用内存会过大
f = open('demo.txt', 'r', encoding='utf-8')
print(f.read())
f.close()
# 输出
'''
今天是周一,真该死啊
明天是周二,也该死
后天是周三,有动漫更新,还不错
大后天是周四,再过一天就放假了
周五了,明天就要休息了
'''
(2)readline() 每次读取一行信息,结果是一个list。
利:占用内存小;逐行读取
弊:由于是逐行读取,速度比较慢
f = open('demo.txt', 'r', encoding='utf-8')
print(f.readline())
f.close()
# 输出
# 今天是周一,真该死啊
(3)readlines() 一次性读取文本的所有内容,返回一个列表,列表每个元素代表一行。这种方法读取的文本内容,每行文本末尾都会带一个’\n’换行符。
利:一次性读取文本内容,速度比较快
弊:随着文本的增大,占用内存会越来越多
f = open('demo.txt', 'r', encoding='utf-8')
print(f.readlines())
f.close()
# 输出
# ['今天是周一,真该死啊\n', '明天是周二,也该死\n', '后天是周三,有动漫更新,还不错\n', '大后天是周四,再过一天就放假了\n', '周五了,明天就要休息了']
......
5、with open() 方式读取
with open('demo.txt', 'r', encoding='utf-8') as f:
print(f.read())
该方法不用手动添加close(),程序会自动关闭文件