Python 中的檔案讀寫(一)

2021-06-22 01:19:36 字數 1791 閱讀 4570

一、開啟檔案

f

= open

("d:\test.txt", "w")  

說明:

第乙個引數是檔名稱,包括路徑;第二個引數是開啟的模式mode

'r':唯讀(預設。如果檔案不存在,則丟擲錯誤)

'w':只寫(如果檔案不存在,則自動建立檔案)

'a':附加到檔案末尾

'r+':讀寫

如果需要以二進位制方式開啟檔案,需要在mode後面加上字元"b",比如"rb""wb"等模式

描述 r

以讀方式開啟檔案,可讀取檔案資訊。 w

以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a

以追加模式開啟檔案(即一開啟檔案,檔案指標自動移到檔案末尾),如果檔案不存在則建立r+

以讀寫方式開啟檔案,可對檔案進行讀和寫操作。 w+

消除檔案內容,然後以讀寫方式開啟檔案。 a+

以讀寫方式開啟檔案,並把檔案指標移到檔案尾。 b

以二進位制模式開啟檔案,而不是以文字模式。該模式只對windows或dos有效,類unix的檔案是用二進位制模式進行操作的。

二、讀取內容

f.read(size)  

引數size表示讀取的數量,可以省略。如果省略size引數,則表示讀取檔案所有內容。

f.readline()  

讀取檔案一行的內容

f.readlines()  

讀取所有的行到陣列裡面[line1,line2,...linen]。在避免將所有檔案內容載入到記憶體中,這種方法常常使用,便於提高效率。

三、寫入檔案

f.write(string)  

將乙個字串寫入檔案,如果寫入結束,必須在字串後面加上"\n",然後f.close()關閉檔案。一定要關閉檔案,否則寫入的內容還只是在電腦的記憶體中,只有f.close()檔案了之後,寫入的內容才會進入目標檔案中。

四、檔案中的內容定位

f.read() 

讀取之後,檔案指標到達檔案的末尾,如果再來一次f.read()將會發現讀取的是空內容,如果想再次讀取全部內容,必須將定位指標移動到檔案開始:

f.seek(0)  

這個函式的格式如下(單位是bytes):

f.seek(offset, from_what)  

from_what表示開始讀取的位置,offset表示從from_what再移動一定量的距離,比如f.seek(10, 3)表示定位到第三個字元並再後移10個字元。from_what值為0時表示檔案的開始,它也可以省略,預設是0即檔案開頭。下面給出一

f

= open

('/tmp/workfile', 'r+')  

f.write('0123456789abcdef')  

f.seek(5) # go to the 6th byte in the file  

f.read(1)   

'5'  

f.seek (-3, 2) # go to the 3rd byte before the end  

f.read(1)  

'd'  

五.關閉檔案

檔案操作完畢,一定要記著關閉檔案f.close(),可以釋放資源供其他程式使用

Python中的檔案讀寫

python內建了乙個open 方法,用於對檔案進行讀寫操作。使用open 方法操作檔案可以分三步走,一是開啟檔案,二是操作檔案,三是關閉檔案。open 方法的返回值是乙個file物件,可以將它賦值給乙個變數。其基本語法格式為 f open filename,mode ps python中,所有具有...

python中對檔案的讀寫

檔案 將資料儲存到硬碟中 資料持久化 開啟檔案 open 檔案路徑,訪問模式 w write 寫入模式,只能寫,不能讀 f open 123.txt w 寫入資料 只能是字串 f.write hello world 關閉檔案 檔案操作完必須要關閉,否則檔案占用記憶體將無法釋放 記憶體洩漏 明知沒有用...

python中csv檔案的讀寫

利用pandas進行csv檔案的讀取,可以直接識別成矩陣形式。我剛開始直接用的open來開啟,發現把引號和逗號都看成了普通字元來處理。import pandas as pd data pd.read csv train.csv header none 引數header設為none是因為我的csv檔案...