這篇文章給大家分享的是有關(guān)python中讀寫文件不亂碼的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供金水網(wǎng)站建設(shè)、金水做網(wǎng)站、金水網(wǎng)站設(shè)計、金水網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、金水企業(yè)網(wǎng)站模板建站服務(wù),十余年金水做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
python中對文件的讀和寫操作是經(jīng)常要用到的,下面說一下文件讀和寫的方法。
讀文件打開文件(文件需要存在)
#打開文件 f = open("data.txt","r") #設(shè)置文件對象 print(f)#文件句柄 f.close() #關(guān)閉文件 #為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代 with open('data.txt',"r") as f: #設(shè)置文件對象 str = f.read() #可以是隨便對文件的操作
完全讀取文件
#完全讀取文件 f = open("data.txt","r") #設(shè)置文件對象 string1 = f.read() #將txt文件的所有內(nèi)容讀入到字符串string1中 f.close() #將文件關(guān)閉 print(string1)
按按行讀取整個文件方法一(刪除回車)
#按行讀取整個文件方法一(刪除回車) data = [] f = open("data.txt","r") #設(shè)置文件對象 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() #關(guān)閉文件 print(data)
按行讀取整個文件方法一(不刪除回車)
#按行讀取整個文件方法一(不刪除回車) data = [] f = open("data.txt","r") #設(shè)置文件對象 line = f.readline() data.append(line) while line: #直到讀取完文件 line = f.readline() #讀取一行文件,包括換行符 if line !='': data.append(line) f.close() #關(guān)閉文件 print(data)
按行讀取整個文件第二種方法
#按行讀取整個文件第二種方法 data = [] for line in open("data.txt","r"): #設(shè)置文件對象并讀取每一行文件 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: #設(shè)置文件對象 for i in data: i = str(i).strip('[').strip(']').replace(',','').replace('\'','').replace(' ',',')+'\r\n' #將其中每一個列表規(guī) 范化成字符串 print(i) f.write(i)
#第二種方法,直接將每一項都寫入文件 data =[ ['a','b','c'],['a','b','c'],['a','b','c']] with open("data.txt","w") as f: #設(shè)置文件對象 for i in data: #對于雙層列表中的數(shù)據(jù) f.writelines(i)
感謝各位的閱讀!關(guān)于python中讀寫文件不亂碼的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!