目录
一、文件读写模式
模式 | 具体信息 |
r | 文件只读,若文件不存在则报错 |
r+ | 文件可读可写,若文件不存在则报错,写入时会覆盖原有内容 |
rb | 文件只读(二进制形式),若文件不存在则报错 |
rb+ | 文件可读可写(二进制形式),若文件不存在则报错,写入时会覆盖原有内容 |
w | 文件只写,若文件不存在则创建,写入时会覆盖原有内容 |
w+ | 文件可读可写,若文件不存在则创建,写入时会覆盖原有内容 |
wb | 文件只写(二进制形式),若文件不存在则创建,写入时会覆盖原有内容 |
wb+ | 文件可读可写(二进制形式),若文件不存在则创建,写入时会覆盖原有内容 |
a | 文件只写,若文件不存在则创建,写入时会追加到文件末尾 |
a+ | 文件可读可写,若文件不存在则创建,写入时会追加到文件末尾 |
ab | 文件只写(二进制形式),若文件不存在则创建,写入时会追加到文件末尾 |
ab+ | 文件可读可写(二进制形式),若文件不存在则创建,写入时会追加到文件末尾 |
简单来说,文件读写模式主要包含三类,分别为’r’、’w’、’a’,对应着只读、覆盖写入和追加写入。每一大类模式都可以使用’b’和’+’来辅助,’b’对应着二进制形式,’+’对应着可同时读写。此外,’b’和’+’两种方式可以同时使用,因此一共可构成12种文件读写模式。
二、读文件
1、所用函数
函数名称 | 含义 |
read() | 读取文件全部内容,以字符串形式返回结果 |
readline() | 读取文件第一行的内容,以字符串形式返回结果 |
readlines() | 读取文件全部内容,以列表形式返回结果(可以输出指定行) |
2、示例
(1)、原始txt文件
(2)、read()函数
file = "文本文档.txt"
# 打开文件
with open(file, "r", encoding='utf-8') as f:
# read():读取文件全部内容,以字符串形式返回结果
data = f.read()
print(data)
运行截图:
(3)、readline()函数
file = "文本文档.txt"
# 打开文件
with open(file, "r", encoding='utf-8') as f:
# readline():读取文件第一行的内容,以字符串形式返回结果
data = f.readline()
print(data)
运行截图:
(4)、readline()函数
file = "文本文档.txt"
# 打开文件
with open(file, "r", encoding='utf-8') as f:
# readlines():读取文件全部内容,以列表形式返回结果
data = f.readlines()
print("----------列表形式----------")
print(data)
print()
print("----------逐行形式----------")
for item in data:
print(item)
运行截图:
三、写文件
1、所用函数
函数名称 | 含义 |
write() | 将内容写入文件,默认不换行 |
2、示例
(1)、原始txt文件
(2)、write()函数
①’w’模式写入
file = "文本文档.txt"
# 打开文件
with open(file, "w", encoding='utf-8') as f:
# write():将内容写入文件,默认不换行
text = "世界之大,无奇不有!"
f.write(text)
运行截图:
②’a’模式写入
file = "文本文档.txt"
# 打开文件
with open(file, "a", encoding='utf-8') as f:
# write():将内容写入文件,默认不换行
text = "\n世界之大,无奇不有!"
f.write(text)
运行截图:
四、另一种书写形式
注意:以上所采用的是with open的书写形式,也可以选用如下方式进行txt文件的读写操作
1、读文件
file = "文本文档.txt"
# 打开文件
f = open(file, 'r', encoding='utf-8')
data = f.read()
print(data)
# 关闭文件
f.close()
运行截图:
2、写文件
file = "文本文档.txt"
# 打开文件
f = open(file, 'a', encoding='utf-8')
text = "\n冰冻三尺,非一日之寒!"
f.write(text)
# 关闭文件
f.close()
运行截图:
文章出处登录后可见!