python读取、写入txt文件

读取txt

方法一:
f = open('data.txt','r',encoding='utf-8') # 打开返回文件对象f
data = f.read()
print(data)
f.close() # 关闭文件对象,释放文件占用的系统资源
方法二(推荐):
with open('data.txt','r',encoding='utf-8')as f:  #使用with会自动关闭文件
    data = f.read()
print(data)
f.closed # 验证文件是否关闭

模型参数解释

r:只能读取
w:只能写入,若存在则覆盖
a:打开并从文件末尾追加内容
r+:打开并进行读写
b:以二进制打开文件,数据以字节形式进行读写,适用于所有不包含文本的文件

读取文件内容

读取时指针会发生变化,若指针已到达末尾,则返回空字符串。比如第二次运行f.read()会返回空字符串。

f.read()      #读取所有文本,返回一个字符串
'1,麻省理工学院,美国\n2,斯坦福大学,美国\n3,哈佛大学,美国\n4,加州理工学院,美国\n5,牛津大学,英国'

f.readline()  #读取一行文本
['1,麻省理工学院,美国\n', '2,斯坦福大学,美国\n', '3,哈佛大学,美国\n', '4,加州理工学院,美国\n', '5,牛津大学,英国']

f.readlines() #读取所有文本,输出一个列表
'1,麻省理工学院,美国\n'

使用for循环,按行读取

f = open('data.txt','r',encoding='utf-8') 
for line in f:
    print(line,end='')
1,麻省理工学院,美国
2,斯坦福大学,美国
3,哈佛大学,美国
4,加州理工学院,美国
5,牛津大学,英国

读取并生成列表,换行符可以用replace去掉。

###方法一:
f = open('data.txt','r',encoding='utf-8') 
d = []
for line in f:
	d.append(line.strip()) #strip()去除字符串两边的空格
print(d)
['1,麻省理工学院,美国', '2,斯坦福大学,美国', '3,哈佛大学,美国', '4,加州理工学院,美国', '5,牛津大学,英国']
###方法二:
f = open('data.txt','r',encoding='utf-8') 
for line in f:
	data = f.readlines()
    print(data)
['2,斯坦福大学,美国\n', '3,哈佛大学,美国\n', '4,加州理工学院,美国\n', '5,牛津大学,英国']

data1 = [i.replace('\n','') for i in data]    
print(data1)
['2,斯坦福大学,美国', '3,哈佛大学,美国', '4,加州理工学院,美国', '5,牛津大学,英国']

data2 = [i.replace('\n','').split(',') for i in data] #split()以“,”作为分隔符切分字符串
print(data2)
[['2', '斯坦福大学', '美国'], ['3', '哈佛大学', '美国'], ['4', '加州理工学院', '美国'], ['5', '牛津大学', '英国']]
print(data2[0][1])
斯坦福大学

写入txt

with open('text.txt','w',encoding='utf-8')as f: 
    f.write('文件读取\n文件写入')  #\n换行符
#查看文件内容
with open('text.txt','r',encoding='utf-8')as f: 
    print(f.read()) 
文件读取
文件写入

写入其他对象的话,要先将他们转化成字符串

str()
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值