馮諾依曼體系架構
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 會一次性讀取檔案的全部內容,如...