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