打开文本
f=open(‘路径/文件名’, ‘读写格式’, ‘编码方式’, ‘错误处理方式’)
例如:
f = open(’/Usersiccy/Desktop/PythonCode/test.txt’,‘r’, encoding=‘UTF-8’, errors=‘ignore’)
打开文本常见的选项有:
"r": 以读方式打开,只能读文件,如果文件不存在,会发生异常.
"w": 以写方式打开,只能写文件,如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件.
"rb": 以二进制读方式打开,只能读文件,如果文件不存在,会发生异常.
"wb": 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件.
"rt": 以文本读方式打开,只能读文件,如果文件不存在,会发生异常.
"wt": 以文本写方式打开,只能写文件,如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件.
"a": 以文本写方式打开,如果不存在会则新建,如果文本存在则在原文本基础上追加内容.
读文本
f.read() 一次性读取文件的全部内容
f.readline(n) 读取n个字符的内容
f.readlines() 一次读取文件的全部内容,并按行返回list
写内容
f.write(‘写的内容’)
程序案例
# -*- coding: utf-8 -*-
#字符串数据写入
with open('a.txt', 'w') as f:
f.write('合肥工业大学(Hefei University of Technology),简称“合工大(HFUT)\n')
f.write('始建于1945年,坐落于全国四大科教城市之一、长三角城市群副中心城市合肥')
print('==============文本写入完毕===================')
#list内容的追加
text_list= ['隶属于中华人民共和国教育部', '由教育部、安徽省人民政府、工业和信息化部', '和国家国防科技工业局共同建设']
with open('a.txt', 'a') as f:
for text in text_list:
f.write(text + '\n')
print('=============文本内容追加完毕====================')
#加入文件编码,迭代将数组封装到list中
list = []
with open('a.txt', 'rt', encoding='gbk') as f:
for line in f:
list.append(line)
for i in list:
print("每一行的文本内容为:", i)
print('=================================')
#另外一种方式操作,这种需要对文件流进行关闭
file = open("a.txt", "r") #打开
line = file.readline() #按行读取
print("前十个文字为:", file.readline(10))
while(line != ""):
print(line)
line = file.readline()
file.close()
print('=================================')
#遍历
file1 = open("a.txt", "r") #打开
line_list = file1.readlines() #一次读取文件的全部内容,并按行返回list
for i in line_list:
print(i)
file1.close()
print('=================================')
# -*- coding: utf-8 -*-
#字符串数据写入
with open('a.txt', 'w') as f:
f.write('合肥工业大学(Hefei University of Technology),简称“合工大(HFUT)\n')
f.write('始建于1945年,坐落于全国四大科教城市之一、长三角城市群副中心城市合肥')
print('==============文本写入完毕===================')
#list内容的追加
text_list= ['隶属于中华人民共和国教育部', '由教育部、安徽省人民政府、工业和信息化部', '和国家国防科技工业局共同建设']
with open('a.txt', 'a') as f:
for text in text_list:
f.write(text + '\n')
print('=============文本内容追加完毕====================')
#加入文件编码,迭代将数组封装到list中
list = []
with open('a.txt', 'rt', encoding='gbk') as f:
for line in f:
list.append(line)
for i in list:
print("每一行的文本内容为:", i)
print('=================================')
#另外一种方式操作,这种需要对文件流进行关闭
file = open("a.txt", "r") #打开
line = file.readline() #按行读取
print("前十个文字为:", file.readline(10))
while(line != ""):
print(line)
line = file.readline()
file.close()
print('=================================')
#遍历
file1 = open("a.txt", "r") #打开
line_list = file1.readlines() #一次读取文件的全部内容,并按行返回list
for i in line_list:
print(i)
file1.close()
print('=================================')
运行程序,控制台的输出结果如下: