在編程語言中,我們常常需要對文件操作,從而對數(shù)據(jù)進行修改和添加,而讀寫文件又是最常見的IO操作,本期我們就共同學(xué)習(xí)python中基本的文件操作。
如我們新建一個文件file.txt
文件的操作有3種常用模式,分別為r、w、a。
創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元大連做網(wǎng)站,已為上家服務(wù),為大連各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
read() : 每次讀取整個文件,它通常用于將文件內(nèi)容放到一個字符串變量中。
f = open('G:\\file.txt','r')
r1 = f.read()
print(r1)運行結(jié)果
hello !
python !
hello !
world !readline() :當(dāng)我們不需要讀取整個文件,只需要讀取一行時,就用readline()
運行結(jié)果為
hello !readlines(): 一次性讀取文件所有行 自動將文件內(nèi)容分析成一個行的列表
運行結(jié)果為
['hello !\n', 'python !\n', 'hello !\n', 'world !']然而我們常常需要字符創(chuàng)形式的內(nèi)容,此時可以由 Python 的 for … in … 結(jié)構(gòu)進行處理。
f = open('G:\\file.txt','r')
for line in f.readlines():
print(line)此時運行結(jié)果為:
hello !
python !
hello !
world !注:with語句:在打開文件后,為了防止忘記關(guān)閉文件,引入with語句,讓其自動關(guān)閉。
with open(“G://file.txt","r") as f :
pass
f = open("G://file.txt",'w') #用寫入模式打開文件
f.write("\nI love python!") #寫入內(nèi)容此時文件中原內(nèi)容被清空和替換,文件內(nèi)容為:I love python!
在“w”模式下需要注意的是:
1.如果本身沒有這個文件存在,將新建改文件;
2.如果文件存在并有內(nèi)容,文件將被情況重寫。如果想保留原來的內(nèi)容,可以使用“a”方式在文件中結(jié)尾附加數(shù)據(jù),如下:
f = open("G://file.txt","a") #用添加模式打開文件
f.write("I love python!") #寫入內(nèi)容此時在文件末尾增加了寫入的內(nèi)容,原內(nèi)容未被替換,內(nèi)容如下:
hello !
python !
hello !
world !I love python!
由于文件讀寫時都有可能產(chǎn)生IOError,一旦出錯,后面的f.close()就不會調(diào)用。所以,為了保證無論是否出錯都能正確地關(guān)閉文件,我們可以使用try … finally來實現(xiàn):
try:
f = open('G://file.txt', 'r')
print(f.read())
finally:
if f:
f.close()但是每次都這么寫實在太繁瑣,所以,Python引入了with語句來自動幫我們調(diào)用close()方法:
with open('G://file.txt', 'r') as f:
print(f.read())這和前面的try … finally是一樣的,但是代碼更佳簡潔,并且不必調(diào)用f.close()方法。
前面我們說的默認(rèn)都是在.txt文件中進行操作,且是utf-8文件,如果我們要讀取其他類型的文件又該如何操作呢,以下是一些總結(jié)

作為文件操作的補充,下期我們將共同學(xué)習(xí)目錄操作在python中的使用!

文章來自公眾號:睿江云計算
睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0024
當(dāng)前名稱:python文件操作
轉(zhuǎn)載來源:http://www.yijiale78.com/article24/jooije.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、商城網(wǎng)站、手機網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)頁設(shè)計公司、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)