python修鍊6

來源:互聯網
上載者:User

標籤:first   cte   height   類型   border   預設   efault   span   系統   

檔案操作

註:不能把open語句放在try塊裡,因為當開啟檔案出現異常時,檔案對象file_object無法執行close()方法。

1.開啟檔案

  (相當於案頭的捷徑)f=open(檔案名稱,模式預設是制度模式"r")

data = f.red()

f.colse()--------------開一個必須關一個要不然消耗記憶體

print(data)

模式:r唯讀w會覆蓋唯寫x唯寫a追加

  • r ,唯讀模式【預設】
  • w,唯寫模式【不可讀;不存在則建立;存在則清空內容;】
  • x, 唯寫模式【不可讀;不存在則建立,存在則報錯】
  • a, 追加模式【不可讀;   不存在則建立;存在則只追加內容;】

"+" 表示可以同時讀寫某個檔案

  • r+, 讀寫【可讀,可寫】
  • w+,寫讀【可讀,可寫】
  • x+ ,寫讀【可讀,可寫】
  • a+, 寫讀【可讀,可寫】

 "b"表示以位元組的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 註:以b方式開啟時,讀取到的內容是位元組類型,寫入時也需要提供位元組類型

 開啟檔案-->位元組

q= bytes(data,enconding=“utf-8")

1隻讀,rb(預設開啟的就是位元組)

f=open("ha.log","rb")

data=f.read()

f.close()

print(type(data))

2.唯寫wb

f=open("ha.log")

2.檔案常用的可執行方法補充(檔案內建函數)

f.flush()    重新整理

f.read(3)   意識是讀取3個字元,其他的函數都是以位元組為單位seek,tell,read,truncate

f.open(file,mode buffering) file相當於檔案的位置 、路徑,mode檔案的開啟模式,buffering可取值0,1,》1三個

0代表buffer關閉

mode取值

Character Meaning
‘r‘ open for reading (default)
‘w‘ open for writing, truncating the file first
‘a‘ open for writing, appending to the end of the file if it exists
‘b‘ binary mode
‘t‘ text mode (default)
‘+‘ open a disk file for updating (reading and writing)
‘U‘ universal newline mode (for backwards compatibility; should not be used in new code)

 1 r或rt 預設模式,文字模式讀 2 rb   二進位檔案 3 w或wt 文字模式寫,開啟前檔案儲存體被清空 4 wb  二進位寫,檔案儲存體同樣被清A      5 a  追加模式,只能寫在檔案末尾 6 a+ 可讀寫入模式,寫只能寫在檔案末  7 w+ 可讀寫,與a+的區別是要清空檔案內容 8 r+ 可讀寫,與a+的區別是可以寫到檔案任何位置 

encoding表示返回的資料採用編碼方式,系統預設gbk  python預設utf-8

newline 可以採取的值,有none \n\r 

file()開啟的是類和open()開啟的是檔案

-----------------------------------------------------------------------------------------------------------------------------------------------------------

1、開啟檔案讀寫

f=open(‘d:\a.txt‘,"r")

f.read(4)-------------#讀取四個位元組

f.read()--------------#讀取到檔案末尾

f.readline讀一行

f.readline讀所有行

line‘.strip()   刪除分行符號

f.write()  

f.write()

f.writeline()

f.writelines()

f.seek(offset,wherer)

f.r

file的其他方法:

F.close() 

#關閉檔案。python會在一個檔案不用後自動關閉檔案,不過這一功能沒有保證,最好還是養成自己關閉的習慣。如果一個檔案在關閉後還對其進行操作會產生ValueError 

F.flush() 

#把緩衝區的內容寫入硬碟 

F.fileno() 

#返回一個長整型的”檔案標籤“ 

F.isatty() 

#檔案是否是一個終端裝置檔案(unix系統中的) 

F.tell() 

#返迴文件操作標記的當前位置,以檔案的開頭為原點 

F.next() 

#返回下一行,並將檔案操作標記位移到下一行。把一個file用於for ... in file這樣的語句時,就是調用next()函數來實現遍曆的。 

F.seek(offset[,whence]) 

#將檔案打操作標記移到offset的位置。這個offset一般是相對於檔案的開頭來計算的,一般為正數。但如果提供了whence參數就不一定了,whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以檔案末尾為原點進行計算。需要注意,如果檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。 

F.truncate([size]) 

#把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。如果size比檔案的大小還要大,依據系統的不同可能是不改變檔案,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。

python修鍊6

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.