pythontxt⽂件常⽤读写操作
python怎么读取txt⽂件的打开的两种⽅式
1 f = open("","r")  #设置⽂件对象
2 f.close() #关闭⽂件
3
4
5#为了⽅便,避免忘记close掉这个⽂件对象,可以⽤下⾯这种⽅式替代
6 with open('',"r") as f:    #设置⽂件对象
7    str = f.read()    #可以是随便对⽂件的操作
⼀、读⽂件
1.简单的将⽂件读取到字符串中
1 f = open("","r")  #设置⽂件对象
2 str = f.read()    #将txt⽂件的所有内容读⼊到字符串str中
3 f.close()  #将⽂件关闭
2.按⾏读取整个⽂件
1#第⼀种⽅法
2 f = open("","r")  #设置⽂件对象
3 line = f.readline()
4 line = line[:-1]
5while line:            #直到读取完⽂件
6    line = f.readline()  #读取⼀⾏⽂件,包括换⾏符
7    line = line[:-1]    #去掉换⾏符,也可以不去
8 f.close() #关闭⽂件
9
10
11#第⼆种⽅法
12 data = []
13for line in open("","r"): #设置⽂件对象并读取每⼀⾏⽂件
14    data.append(line)              #将每⼀⾏⽂件加⼊到list中
15
16
17#第三种⽅法
18 f = open("","r")  #设置⽂件对象
19 data = f.readlines()  #直接将⽂件中按⾏读到list⾥,效果与⽅法2⼀样
20 f.close()            #关闭⽂件
3.将⽂件读⼊数组中
1import numpy as np
2 data = np.loadtxt("")  #将⽂件中数据加载到data数组⾥
⼆、写⽂件
1.简单的将字符串写⼊txt中
1 with open('','w') as f:    #设置⽂件对象
2    f.write(str)                #将字符串写⼊⽂件中
2.列表写⼊⽂件
单层列表
1 data = ['a','b','c']
2#单层列表写⼊⽂件
3 with open("","w") as f:
4    f.writelines(data)
双层列表
1#双层列表写⼊⽂件
2
3#第⼀种⽅法,每⼀项⽤空格隔开,⼀个列表是⼀⾏写⼊⽂件
4 data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
5 with open("","w") as f:                                                  #设置⽂件对象
6for i in data:                                                                #对于双层列表中的数据
7        i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n'#将其中每⼀个列表规范化成字符串
8        f.write(i)                                                                #写⼊⽂件
9
10
11#第⼆种⽅法,直接将每⼀项都写⼊⽂件
12 data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
13 with open("","w") as f:                                                  #设置⽂件对象
14for i in data:                                                                #对于双层列表中的数据
15        f.writelines(i)                                                            #写⼊⽂件
3.数组写⼊⽂件中
1#将数组写⼊⽂件
2import numpy as np
3
4#第⼀种⽅法
5 np.savetxt("",data)    #将数组中数据写⼊到⽂件
6#第⼆种⽅法
7 np.save("",data)        #将数组中数据写⼊到⽂件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。