python txt檔案常用讀寫操作
阿新 • • 發佈:2018-12-17
檔案的開啟的兩種方式
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檔案