溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中讀寫文件模式和文件對(duì)象方法的示例分析

發(fā)布時(shí)間:2021-07-16 14:00:57 來源:億速云 閱讀:165 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Python中讀寫文件模式和文件對(duì)象方法的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

具體如下:

一. 讀寫文件模式

利用open() 讀寫文件時(shí),將會(huì)返回一個(gè) file 對(duì)象,其基本語法格式如:  open ( filename, mode)

其中,filename變量是一個(gè)包含了你要訪問的文件名稱的字符串值。而mode決定了你打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。

注:這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀模式(r)

Python中讀寫文件模式和文件對(duì)象方法的示例分析

例如,我們現(xiàn)在將一個(gè)字符串寫入到test.txt文件中,其中test.txt的存儲(chǔ)位置為: "E:/orig_data/test.txt" ,

具體操作如下:

#=============================================================================
#打開一個(gè)文件
file = open("E:/orig_data/test.txt" ,"w")
file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用!")
#關(guān)閉打開的文件
file.close()
#文件使用完畢后必須關(guān)閉,因?yàn)槲募?duì)象會(huì)占用操作系統(tǒng)的資源,并且操作系統(tǒng)同一時(shí)間能打開的文
#件數(shù)量也是有限的

#為了簡(jiǎn)化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用!")
 
#讀取該文件時(shí)
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.read())
#============================================================================

寫入后得到的文件test.txt文件為:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

在Python讀取文件的結(jié)果:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

如果我們?cè)趯懭胛谋竞?,直接立馬打印則會(huì)出現(xiàn)以下結(jié)果:

#=============================================================================
#打開一個(gè)文件
file = open("E:/orig_data/test.txt" ,"w")
num = file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用!")
print(num)
#關(guān)閉打開的文件
file.close()
#=============================================================================

結(jié)果輸出的是數(shù)字:29,即輸出的是雙引號(hào)內(nèi)寫入字符的個(gè)數(shù)。

如果我們寫入了非字符的文本,則需要現(xiàn)將其進(jìn)行轉(zhuǎn)換,然后在寫入:

#=============================================================================
#打開一個(gè)文件
file = open("E:/orig_data/test.txt" ,"w")
value = ("ww.baidu.com",28)
s = str(value)
file.write(s)
#關(guān)閉打開的文件
file.close()
#=============================================================================

輸出的結(jié)果為:

("ww.baidu.com",28)

二. 文件對(duì)象的方法

在已有可讀取的文件的前提下,讀文件的讀取方法進(jìn)行總結(jié):

1. f.read()

為了讀取一個(gè)文件的內(nèi)容,調(diào)用 f.read(size), 這將讀取一定數(shù)目的數(shù)據(jù), 然后作為字符串或字節(jié)對(duì)象返回。size 是一個(gè)可選的數(shù)字類型的參數(shù)。 當(dāng) size 被忽略了或者為負(fù), 那么該文件的所有內(nèi)容都將被讀取并且返回。

#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.read()
print(str)
file.close()
#為了簡(jiǎn)化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.read())
#===========================================================================

打印的結(jié)果:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

2. f.readline()

f.readline() 會(huì)從文件中讀取單獨(dú)的一行。換行符為 '\n'。

f.readline() 如果返回一個(gè)空字符串, 說明已經(jīng)已經(jīng)讀取到最后一行。

#==========================================================================
#為了簡(jiǎn)化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用。\n是的,的確如此!") 
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readline()
print(str)
file.close()
#為了簡(jiǎn)化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.readline())
#===========================================================================

文件讀取的結(jié)果:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

說明:寫入了兩行文本,但是結(jié)果只讀取了一行,即按行讀取的結(jié)果。如果想要讀取全部文本,可利用for循環(huán),逐行讀取,如

#==========================================================================
#為了簡(jiǎn)化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用。\n是的,的確如此!") 
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
for line in file:
 print(line, end=' ')
file.close()
#===========================================================================

讀取的結(jié)果:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

注:這個(gè)方法很簡(jiǎn)單, 但是并沒有提供一個(gè)很好的控制。因此實(shí)際中更多的我們建議利用f.readlines()來讀取。

3. f.readlines()

f.readlines() 將返回該文件中包含的所有行。

如果設(shè)置可選參數(shù) sizehint, 則讀取指定長度的字節(jié), 并且將這些字節(jié)按行分割。

#==========================================================================
#為了簡(jiǎn)化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
 file.write("Python是一個(gè)很好的語言,和MATLAB一樣簡(jiǎn)單好用。\n是的,的確如此!") 
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readlines()
print(str)
file.close()
#為了簡(jiǎn)化操作
with open("E:/orig_data/test.txt" ,"r") as file:
 print(file.readlines())
#===========================================================================

文件讀取的結(jié)果:

Python中讀寫文件模式和文件對(duì)象方法的示例分析

以上是“Python中讀寫文件模式和文件對(duì)象方法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI