Python從文件中讀取數據


一、讀取整個文件內容

在讀取文件之前,我們先創建一個文本文件resource.txt作為源文件。

resource.txt

 

my name is joker,
I am 18 years old,
How about you?

 

如何讀取文件全部內容,我們編寫到reader.py文件中。

reader.py

1 with open('resource.txt') as file_obj:
2     content = file_obj.read()
3     print(content)
4         

需要注意的是需要將resource.txt文件與read.py 放在同一目錄下。

運行后的結果如下:

解釋:open函數接收一個參數,此參數為將被讀取內容的文件名,在調用之后返回表示這個文件的對象,Python將之存儲在后面的變量(file_obj)中,關鍵字 with 在我們不再需要使用文件的時候將其關閉。

 上面的代碼中open() 函數中傳入的是一個相對路徑,相對路徑會從當前文件(reader.py)所在文件夾下查找指定文件(resource.txt),如果文件不在當前文件夾下,可以使用絕對路徑。Linux系統絕對路徑如:

/home/joker/dic這樣的,Windows系統的絕對路徑如:C:/pyhton_workspace/dic 這樣的。

二、逐行讀取文件內容

1 file_name = 'resource.txt'
2 
3 with open(file_name) as file_obj:
4     for content in file_obj:
5         print(content)

控制台打印如下:

解釋:在上面的程序中,因為Python在讀取文件之后將其存入對象file_obj 中,我們通過對該對象進行循環來遍歷文件中的每一行,但是卻發現,多了空白行,因為在這個文件中,有看不見的換行符,且print語句語句也會加上一個換行符,因此每行的末尾會有兩個換行符。要消除多於的空白行可在print語句中調用rstrip() 方法,如下:

1 file_name = 'resource.txt'
2 
3 with open(file_name) as file_obj:
4     for content in file_obj:
5         print(content.rstrip())

控制台打印如下:

現在,和與讀取整個文件的輸出相同了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM