一.檔案的開啟,open函式
f = open(file_name,mode)#建立檔案物件
開啟模式有很多種
1. 'r': 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
2. 'r+': 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭,但寫入內容會寫到檔案內容末尾。
3. 'w': 開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
4. 'w+': 開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
5. 'a': 開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
6. 'a+': 開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。讀檔案時從檔案內容的末尾讀,因為檔案指標放在檔案的結尾。
with open as語句
不必寫f.close(),會自動在末尾關閉檔案,即使在檔案操作中發生錯誤
with open('/path/to/file', 'r') as f:print(f.read())
二.檔案物件的屬性
file.closed : 如果檔案已被關閉返回true,否則返回false。
file.mode : 返回被開啟檔案的訪問模式。
file.name : 返回檔案的名稱。
三.檔案的關閉
file_object.close()
四.檔案的讀寫操作
write方法
file_object.write(string)
read方法
file_object.read(count)#count為位元組數,不填則讀到檔案末尾
readlines方法用於讀取所有行
file_object.readlines( )
#檔案內容如下#12345
#67890
#09876
#54321
p=f.readlines()
print(p)
#輸出為['12345\n', '67890\n', '09876\n', '54321']
五.檔案的定位
tell方法
print(file_object.tell())#輸出檔案內的當前位置, 即下一次的讀寫會發生在檔案開頭多少位元組之後。#根據編碼的不同,每個漢字所佔的位元組也不同,utf-8中乙個漢字佔3個位元組,此處的數量和read函式的引數意義不同,read函式引數中1代表乙個字元
#例如以下為檔案內容
#這是漢字
print(file_object.read(3))#輸出為這是漢
seek方法
seek(offset ,from)方法改變當前檔案的位置。offset變數表示要移動的位元組數。from變數指定開始移動位元組的參考位置。
如果from被設為0,這意味著將檔案的開頭作為移動位元組的參考位置。如果設為1,則使用當前的位置作為參考位置。如果它被設為2,那麼該檔案的末尾將作為參考位置。
file_object.seek(3)#from引數預設為0
六.截斷檔案
truncate() 方法用於截斷檔案,如果指定了可選引數 size,則表示截斷檔案為 size 個位元組。 如果沒有指定 size,則從當前位置起截斷;截斷之後 size 後面的所有字元被刪除。
file_object.truncate(size)
七.flush方法
flush() 方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入。
一般情況下,檔案關閉後會自動重新整理緩衝區,但有時你需要在關閉前重新整理它,這時就可以使用 flush() 方法。
file_object.flush()
未完待續
python基礎 day8 檔案操作
open 是python的內建函式,open底層呼叫的是作業系統的介面 f1 就是個變數,專業名詞 檔案控制代碼。一般命名f1,fh,file handler,f h等等,對檔案進行任何操作,都要通過檔案控制代碼。encoding 可以不寫,如果不寫的話,預設編碼本就是作業系統的預設編碼 windo...
Java學習筆記 Java基礎8(檔案)
1.file 通過該類可在程式中操作硬碟上的檔案和目錄,但是該類只用於表示檔案或目錄的資訊 名稱 大小等 不能對檔案的內容進行訪問 1 file string pathname 通過給定的字串轉換為抽象路徑名來建立乙個新file例項 2 表示路徑時,應使用file.separator表示分隔符 或 ...
python基礎(13) 檔案
檔案的基本方法 可使用函式open,它位於自動匯入的模組io中。1.open函式將檔名作為唯一必不可少的引數,返回乙個可讀取的檔案物件 open a.py a.py mode r encoding cp936 2.如果要寫入檔案,必須通過指定模式來顯式地指出這一點 3.若不存在該檔案,則會產生如下錯...