Python讀寫文件模式和文件對象方法實例詳解

這篇文章主要介紹了Python讀寫文件模式和文件對象方法,結合實例形式詳細分析了Python文件操作常用技巧與相關注意事項,需要的朋友可以參考下

本文實例講述了Python讀寫文件模式和文件對象方法。分享給大家供大家參考,具體如下:

一. 讀寫文件模式

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

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

注:這個參數是非強制的,默認文件訪問模式爲只讀模式(r)

例如,我們現在將一個字符串寫入到test.txt文件中,其中test.txt的存儲位置爲: "E:/orig_data/test.txt" ,

具體操作如下:

#=============================================================================
#打開一個文件
file = open("E:/orig_data/test.txt" ,"w")
file.write("Python是一個很好的語言,和MATLAB一樣簡單好用!")
#關閉打開的文件
file.close()
#文件使用完畢後必須關閉,因爲文件對象會佔用操作系統的資源,並且操作系統同一時間能打開的文
#件數量也是有限的

#爲了簡化操作,一般我們採用如下方式:
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讀取文件的結果:

如果我們在寫入文本後,直接立馬打印則會出現以下結果:

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

結果輸出的是數字:29,即輸出的是雙引號內寫入字符的個數。

如果我們寫入了非字符的文本,則需要現將其進行轉換,然後在寫入:

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

輸出的結果爲:

("ww.baidu.com",28)


二. 文件對象的方法

在已有可讀取的文件的前提下,讀文件的讀取方法進行總結:

1. f.read()

爲了讀取一個文件的內容,調用 f.read(size), 這將讀取一定數目的數據, 然後作爲字符串或字節對象返回。size 是一個可選的數字類型的參數。 當 size 被忽略了或者爲負, 那麼該文件的所有內容都將被讀取並且返回。

#============================================================================
#讀取文件
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())
#===========================================================================

打印的結果:

2. f.readline()

f.readline() 會從文件中讀取單獨的一行。換行符爲 '\n'。

f.readline() 如果返回一個空字符串, 說明已經已經讀取到最後一行。

#==========================================================================
#爲了簡化操作,一般我們採用如下方式:
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())
#===========================================================================

文件讀取的結果:

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

#==========================================================================
#爲了簡化操作,一般我們採用如下方式:
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()
#===========================================================================

讀取的結果:


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

3. f.readlines()

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

如果設置可選參數 sizehint, 則讀取指定長度的字節, 並且將這些字節按行分割。

#==========================================================================
#爲了簡化操作,一般我們採用如下方式:
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())
#===========================================================================

文件讀取的結果:


更多關於Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧彙總》、《Python文本文件操作技巧彙總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧彙總》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章