【Python基础】文本文件读写
【Python基础】文本文件读写
Python中常用文件读写方法汇总。
一、打开文件模式
打开文件模式列表:
模式 | r | r+ | w | w+ | a | a+ |
---|---|---|---|---|---|---|
读 | + | + | + | + | ||
写 | + | + | + | + | + | |
创建 | + | + | + | + | ||
覆盖 | + | + | ||||
指针在开始 | + | + | + | + | ||
指针在结尾 | + | + |
二、读取文本文件
python常用的读取文件函数有三种read()、readline()、readlines()
1. read() 一次性读全部内容
read()会一次性读取文本中全部的内容,以字符串的形式返回结果
python
with open('test.txt', 'r', encoding='utf-8') as f: # 打开文件
data = f.read() # 读取文件
print(data)
2. readline() 读取第一行内容
readline()只读取文本第一行的内容,以字符串的形式返回结果
python
with open('test.txt', 'r', encoding='utf-8') as f: # 打开文件
data = f.readline()
print(data)
3. readlines() 列表
readlines()会读取文本所有内容,并且以数列的格式返回结果,一般配合for in使用
python
with open('test.txt', 'r', encoding='utf-8') as f: # 打开文件
data = f.readlines()
print(data)
# 输出:['你好,我是第一行\n', '你好,我是第二行\n', '你好,我是第三行\n', '你好,我是第四行\n', '你好,我是第五行']
可见readlines会读到换行符,我们可以用如下方法去除:
python
with open('test.txt', 'r', encoding='utf-8') as f: # 打开文件
for line in f.readlines():
line = line.strip('\n') # 去掉列表中每一个元素的换行符
print(line)
三、写入文本文件
清空原来的内容,覆盖写入
python
with open('test.txt', 'w', encoding='utf-8') as f: # 打开文件
f.write('测试写入一行') # 这句话自带文件关闭功能,不需要再写f.close()
保留原来的内容,在末尾追加写入
python
with open('test.txt', 'a', encoding='utf-8') as f: # 打开文件
f.write('测试写入一行') # 这句话自带文件关闭功能,不需要再写f.close()