python學習 檔案操作

2021-09-22 19:37:32 字數 2587 閱讀 8178

馮諾依曼體系架構

cpu由運算器和控制器組成:

檔案io常用操作

開啟操作

open(file,mode=『r』,buffering=-1,encoding=none,errors=none,newline=none,closefd=true,opener=none)

開啟乙個檔案,返回乙個檔案物件(流物件)和檔案描述符。開啟檔案失敗,則返回異常

基本使用:

檔案操作中,最常用的操作就是讀和寫。

檔案訪問的模式有兩種:文字模式和二進位制模式。不同模式下,操作函式不盡相同,表現的結果也不一樣。

open的引數

file

開啟或者要建立的檔名, 如果不指定路徑, 預設是當前路徑

mode模式

描述字元意義r

預設的, 表示唯讀開啟

w只寫開啟

x建立並寫入乙個新檔案

a寫入開啟, 如果檔案存在, 則追加

b二進位制模式

t預設的, 文字模式

+讀寫開啟乙個檔案, 給原來唯讀, 只寫方式開啟提供缺失的讀或者寫能力

open預設是唯讀文字模式rt開啟已經存在的檔案

r模式:

w模式:

x模式:

a模式:

r是唯讀,wxa都是只寫。

wxa模式都可以產生新檔案

文字模式t:

二進位制模式b:

+模式:

檔案指標

檔案指標,指向當前位元組位置

mode=r,指標起始在0

mode=a,指標起始在eof

tell() 顯示指標當前位置

seek(offset[,whence])

移動檔案指標位置。offest偏移多少位元組,whence從**開始。

文字模式下:

二進位制模式下:

buffering: 緩衝區

-1表示使用預設大小的bufer。如果是二進位制模式,使用io.default_buffer_size值,預設是4096或者8192。

如果是文字模式,如果是終端裝置,是行快取方式,如果不是,則使用二進位制模式的策略。

flush()將緩衝區資料寫入磁碟

close()關閉前會呼叫flush()

io.default_buffer_size預設緩衝區大小,位元組

似乎看起來很麻煩,一般來說,只需要記得:

encoding:編碼,僅文字模式使用

none表示使用預設編碼, 依賴作業系統windows下預設gbk(0xb0a1), linux下預設utf-8

其它引數

errors

什麼樣的編碼錯誤將**獲

none和strict表示有編碼錯誤將丟擲valueerror異常;ignore表示忽略

newline

文字模式中,換行的轉換。可以為none、』 『空串、』\r』、』\n』、』\r\n』

讀時,none表示』\r』、』\n』、』\r\n』都被轉換為』\n』;』 『表示不會自動轉換通用換行符;其它合法字元表示換行符就是指定字元,就會按照指定字元分行

寫時,none表示』\n』都會被替換為系統預設行分隔符os.linesep;』\n』或』『表示』\n』不替換;其它合法字元表示』\n』會被替換為指定的字元

closefd

關閉檔案描述符,true表示關閉它。false會在檔案關閉後保持這個描述符。fileobj.fileno()檢視

read操作

read(size=-1)

size表示讀取的多少個字元或位元組;負數或者none表示讀取到eof

行讀取readline(size=-1)

一行行讀取檔案內容。size設定一次能讀取行內幾個字元或位元組。

readlines(hint=-1)

讀取所有行的列表。指定hint則返回指定的行數。

write操作

write(s),把字串s寫入到檔案中並返回字元的個數

writelines(lines),將字串列表寫入檔案。

close操作

flush並關閉檔案物件

檔案已關閉, 再次關閉沒有任何效果

其他

上下文管理

上下文管理:

對於類似於檔案物件的io物件,一般來說都需要在不使用的時候關閉、登出,以釋放資源。

io被開啟的時候,會獲得乙個檔案描述符。計算機資源是有限的,所以作業系統都會做限制。就是為了保護計算機的資源不要被完全耗盡,計算資源是共享的,不是獨佔的。

一般情況下,除非特別明確的知道資源情況,否則不要提高資源的限制值來解決問題。

Python學習 檔案操作

python使用open來開啟資料流 data open data.txt 下面是乙個讀取乙個檔案,然後逐行輸出的 try data open data.txt for each line in data try role,line spoken each line.split 1 print ro...

Python學習 檔案操作

開啟檔案通常使用open 函式開啟檔案。open 函式返回的物件中,存在乙個叫close 的方法。關閉檔案通常使用close 模式 w 重頭寫 檔案不存在的情況下,會自動建立檔案。try file open 藏頭詩.txt w encoding gbk 檔案位置,模式,檔案編碼 except fil...

Python學習 檔案操作IO

開啟檔案 以讀檔案模式開啟乙個檔案物件,使用open 函式,傳入檔名和標示符 file open e python.txt r 注意 路徑符號不能用 而是 讀檔案 f.read aaaa nbbb nbccc nddd neee nfff nhhh n 注意 read 會一次性讀取檔案的全部內容,如...