这篇文章将为大家详细讲解有关Python如何读写操作文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
读文件
打开文件(文件需要存在)
#打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() #关闭文件 #为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代 with open('data.txt',"r") as f: #设置文件对象 str = f.read() #可以是随便对文件的操作
完全读取文件
#完全读取文件 f = open("data.txt","r") #设置文件对象 string1 = f.read() #将txt文件的所有内容读入到字符串string1中 f.close() #将文件关闭 print(string1)
按按行读取整个文件方法一(删除回车)
#按行读取整个文件方法一(删除回车) data = [] f = open("data.txt","r") #设置文件对象 line = f.readline() if line !='\n' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去 line_ = line[:-1] data.append(line_) while line: #直到读取完文件 line = f.readline() #读取一行文件,包括换行符 if line !='' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去 line_ = line[:-1] data.append(line_) f.close() #关闭文件 print(data)
按行读取整个文件方法一(不删除回车)
#按行读取整个文件方法一(不删除回车) data = [] f = open("data.txt","r") #设置文件对象 line = f.readline() data.append(line) while line: #直到读取完文件 line = f.readline() #读取一行文件,包括换行符 if line !='': data.append(line) f.close() #关闭文件 print(data)
按行读取整个文件第二种方法
#按行读取整个文件第二种方法 data = [] for line in open("data.txt","r"): #设置文件对象并读取每一行文件 data.append(line) #将每一行文件加入到list中 print(data )
写文件
列表写入文件
#列表写入文件(直接) data = ['a','b','c'] #单层列表写入文件 with open("data.txt","w") as f: f.writelines(data)
#列表写入文件(加入一些东西) data = ['a','b','c'] #单层列表写入文件 with open("data.txt","w") as f: for i in data: f.write(i+'\r\n')
#二维列表写入文件 data =[ ['a','b','c'],['a','b','c'],['a','b','c']] with open("data.txt","w") as f: #设置文件对象 for i in data: i = str(i).strip('[').strip(']').replace(',','').replace('\'','').replace(' ',',')+'\r\n' #将其中每一个列表规范化成字符串 print(i) f.write(i)
#第二种方法,直接将每一项都写入文件 data =[ ['a','b','c'],['a','b','c'],['a','b','c']] with open("data.txt","w") as f: #设置文件对象 for i in data: #对于双层列表中的数据 f.writelines(i)
#将数组写入文件 import numpy as np data =[ [1,2,3],[4,5,6],[7,8,9]] # 第一种方法将数组中数据写入到data.txt文件 np.savetxt("data1.txt",data) # 第二种方法将数组中数据写入到data.npy文件 np.save("data",data)
关于Python如何读写操作文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。