文件的打開的兩種方式
1 f = open("data.txt","r") #設置文件對象 2 f.close() #關閉文件 3 4 5 #為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代 6 with open('data.txt',"r") as f: #設置文件對象 7 str = f.read() #可以是隨便對文件的操作
一、讀文件
1.簡單的將文件讀取到字符串中
1 f = open("data.txt","r") #設置文件對象 2 str = f.read() #將txt文件的所有內容讀入到字符串str中 3 f.close() #將文件關閉
2.按行讀取整個文件
1 #第一種方法 2 f = open("data.txt","r") #設置文件對象 3 line = f.readline() 4 line = line[:-1] 5 while line: #直到讀取完文件 6 line = f.readline() #讀取一行文件,包括換行符 7 line = line[:-1] #去掉換行符,也可以不去 8 f.close() #關閉文件 9 10 11 #第二種方法 12 data = [] 13 for line in open("data.txt","r"): #設置文件對象並讀取每一行文件 14 data.append(line) #將每一行文件加入到list中 15 16 17 #第三種方法 18 f = open("data.txt","r") #設置文件對象 19 data = f.readlines() #直接將文件中按行讀到list里,效果與方法2一樣
20 f.close() #關閉文件
3.將文件讀入數組中
1 import numpy as np 2 data = np.loadtxt("data.txt") #將文件中數據加載到data數組里
二、寫文件
1.簡單的將字符串寫入txt中
1 with open('data.txt','w') as f: #設置文件對象 2 f.write(str) #將字符串寫入文件中
2.列表寫入文件
單層列表
1 data = ['a','b','c'] 2 #單層列表寫入文件 3 with open("data.txt","w") as f: 4 f.writelines(data)
雙層列表
1 #雙層列表寫入文件 2 3 #第一種方法,每一項用空格隔開,一個列表是一行寫入文件 4 data =[ ['a','b','c'],['a','b','c'],['a','b','c']] 5 with open("data.txt","w") as f: #設置文件對象 6 for 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("data.txt","w") as f: #設置文件對象 14 for i in data: #對於雙層列表中的數據 15 f.writelines(i) #寫入文件
3.數組寫入文件中
1 #將數組寫入文件 2 import numpy as np 3 4 #第一種方法 5 np.savetxt("data.txt",data) #將數組中數據寫入到data.txt文件 6 #第二種方法 7 np.save("data.txt",data) #將數組中數據寫入到data.txt文件