一、读写txt文本
1、打开txt文件
- 下述函数参数有(文件名,mode模式,编码格式)
file = open('test.txt', mode='w', encoding='utf-8')
mode模式有以下几种:
w:只能操作写入 r:只能读取 a:向文件追加
w+:可读可写 r+:可读可写 a+:可读可追加
w模式打开文件,如果文件中有数据,再次写入内容,会把原来的覆盖掉
2、向文件写入数据
- 方法一:
#1.写入单行
file = open('test.txt', mode='w', encoding='utf-8')
# write 写入
file.write('Hello, world!')
# 关闭文件,不关闭文件可能会出问题
file.close()
#写入多行
lines = ['这是第一行。\n', '这是第二行。\n', '这是第三行。\n']
# writelines()方法 会将列表中的字符串写入文件中,但不会自动换行,如果需要换行,手动添加换行符
# 参数必须是一个只存放字符串的列表
file = open('test.txt', mode='w', encoding='utf-8')
file.writelines(lines)
file.close()
- 方法二:
# with语句来自动管理文件的打开和关闭,即使发生异常也能正确关闭文件
with open("test.txt", "w") as file:
file.write("Hello, world!")
二、读取txt文件
1、打开文件
# 使用r模式打开文件,做读取文件操作
# 打开文件的模式,默认就是r模式,如果只是读文件,可以不填写mode模式
file = open('test.txt', mode='r')
2、读取文件内容
- read()方法
'''
文本内容:
123456789
Hello, world!
'''
# read()方法, 读取文件内容。如果指定读取长度,会按照长度去读取,不指定默认读取所有数据
# 1.方法一
file = open('test.txt', mode='r')
print(file.read(11))
file.close()
'''
结果:
123456789
H
'''
# 2.方法二
with open("test.txt", "r") as file:
print(file.read())
'''
结果:
123456789
Hello, world!
'''
- readline()方法
'''
文本内容:
123456789
Hello, world!
'''
# readline()方法,默认读取文件一行数据
with open("test.txt", "r") as file:
print(file.readline())
# readline(int)方法,默认读取文件一行数据,如果指定读取长度,会按照长度去读取
with open("test.txt", "r") as file:
print(file.readline(5))
# 结果:123456789、12345
- readlines()方法
'''
文本内容:
123
321
456
654
'''
# readlines()是Python文件对象的一个方法,用于读取文件中的所有文本行,并将其存储在列表中返回
with open("test.txt", "r") as file:
result = file.readlines()
print(result)
# 结果:['123\n', '321\n', '456\n', '654']
# 如果不添加replace("\n", ""),输出结果后会自动换行,加入可以去掉换行符
for i in result:
data = i.replace("\n", "")
print(data)