本文實例講述了Python讀寫文件模式和文件對象方法。分享給大家供大家參考,具體如下:
一. 讀寫文件模式
利用open() 讀寫文件時,將會返回一個 file 對象,其基本語法格式如:? open ( filename, mode)
其中,filename變量是一個包含了你要訪問的文件名稱的字符串值。而mode決定了你打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。
注:這個參數(shù)是非強制的,默認(rèn)文件訪問模式為只讀模式(r)
例如,我們現(xiàn)在將一個字符串寫入到test.txt文件中,其中test.txt的存儲位置為: "E:/orig_data/test.txt" ,
具體操作如下:
#=============================================================================
#打開一個文件
file = open("E:/orig_data/test.txt" ,"w")
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用!")
#關(guān)閉打開的文件
file.close()
#文件使用完畢后必須關(guān)閉,因為文件對象會占用操作系統(tǒng)的資源,并且操作系統(tǒng)同一時間能打開的文
#件數(shù)量也是有限的
#為了簡化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用!")
#讀取該文件時
with open("E:/orig_data/test.txt" ,"r") as file:
print(file.read())
#============================================================================
寫入后得到的文件test.txt文件為:
在Python讀取文件的結(jié)果:
如果我們在寫入文本后,直接立馬打印則會出現(xiàn)以下結(jié)果:
#=============================================================================
#打開一個文件
file = open("E:/orig_data/test.txt" ,"w")
num = file.write("Python是一個很好的語言,和MATLAB一樣簡單好用!")
print(num)
#關(guān)閉打開的文件
file.close()
#=============================================================================
結(jié)果輸出的是數(shù)字:29,即輸出的是雙引號內(nèi)寫入字符的個數(shù)。
如果我們寫入了非字符的文本,則需要現(xiàn)將其進行轉(zhuǎn)換,然后在寫入:
#=============================================================================
#打開一個文件
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)
二. 文件對象的方法
在已有可讀取的文件的前提下,讀文件的讀取方法進行總結(jié):
1. f.read()
為了讀取一個文件的內(nèi)容,調(diào)用 f.read(size), 這將讀取一定數(shù)目的數(shù)據(jù), 然后作為字符串或字節(jié)對象返回。size 是一個可選的數(shù)字類型的參數(shù)。 當(dāng) size 被忽略了或者為負, 那么該文件的所有內(nèi)容都將被讀取并且返回。
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.read()
print(str)
file.close()
#為了簡化操作
with open("E:/orig_data/test.txt" ,"r") as file:
print(file.read())
#===========================================================================
打印的結(jié)果:
2. f.readline()
f.readline() 會從文件中讀取單獨的一行。換行符為 '\n'。
f.readline() 如果返回一個空字符串, 說明已經(jīng)已經(jīng)讀取到最后一行。
#==========================================================================
#為了簡化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用。\n是的,的確如此!")
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readline()
print(str)
file.close()
#為了簡化操作
with open("E:/orig_data/test.txt" ,"r") as file:
print(file.readline())
#===========================================================================
文件讀取的結(jié)果:
說明:寫入了兩行文本,但是結(jié)果只讀取了一行,即按行讀取的結(jié)果。如果想要讀取全部文本,可利用for循環(huán),逐行讀取,如
#==========================================================================
#為了簡化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用。\n是的,的確如此!")
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
for line in file:
print(line, end=' ')
file.close()
#===========================================================================
讀取的結(jié)果:
注:這個方法很簡單, 但是并沒有提供一個很好的控制。因此實際中更多的我們建議利用f.readlines()來讀取。
3. f.readlines()
f.readlines() 將返回該文件中包含的所有行。
如果設(shè)置可選參數(shù) sizehint, 則讀取指定長度的字節(jié), 并且將這些字節(jié)按行分割。
#==========================================================================
#為了簡化操作,一般我們采用如下方式:
with open("E:/orig_data/test.txt" ,"w") as file:
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用。\n是的,的確如此!")
#============================================================================
#讀取文件
file = open("E:/orig_data/test.txt" ,"r")
str = file.readlines()
print(str)
file.close()
#為了簡化操作
with open("E:/orig_data/test.txt" ,"r") as file:
print(file.readlines())
#===========================================================================
文件讀取的結(jié)果:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

