python全棧開發08

來源:互聯網
上載者:User

標籤:too   常用   for迴圈   迴圈   有一個   檔案操作   bar   修改   with   

 

檔案操作
1.初識檔案操作
2.唯讀(r,rb)
3.唯寫(w,wb)
4.追加(a,ab)
5.r+讀寫
6.w+寫讀
7.a+寫讀(追加寫讀)
8.其他寫作方式
9.檔案的修改以及另一種開啟檔案控制代碼的方式
主要內容:   
1.我們可以通過使用open()函數的方式開啟檔案的控制代碼
開啟檔案的方式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b,預設使用r(唯讀模式)
2.唯讀(r和rb)操作

# r模式f = open(‘H:/123.txt‘, mode=‘r‘,encoding=‘UTF-8‘) # 開啟123檔案,用唯讀方式,編碼格式是UTF-8centent = f.read()  # 讀取檔案print(centent)      # 輸出內容f.close()           # 關閉檔案# rb模式f = open(‘H:/123.txt‘, mode=‘rb‘ ) # 開啟123檔案,用唯讀位元組的方式centent = f.read()  # 讀取檔案,會讀取出來位元組模式的print(centent)      # 輸出內容.輸出位元組形式的f.close()           # 關閉檔案

絕對路徑和相對路徑:

  絕對路徑:從根目錄下一直到你那個檔案的位置

  相對路徑:根據你當前所在位置的路徑

  ../ 返回上一層

讀取檔案的方式:

read():將檔案中的全部內容全部讀取出來,弊端:占記憶體,如果檔案太大會崩潰

read(n):讀取幾個字元,在rb模式下才是讀取幾個位元組

readline():一次讀取一行,每次讀取的資料後面都有一個\n,需要去除

readlines():會將每一行形成一個元素,放到一個列表裡

最好使用for迴圈的方式開啟

讀取完一定要f.close(),來關閉控制代碼

寫讀檔案的方式(w,wb):
寫的時候要注意,如果沒有檔案,則會建立檔案,如果檔案存在,則會刪除檔案內容,再寫入新的內容

write():寫入內容,在寫入內容的模式下,是無法讀取的

flush():重新整理檔案

wb模式下,可以不指定開啟檔案的編碼,但是在寫入的時候必須將字串,轉換為UTF-8的bytes資料

 

encode(編碼):字元通過編碼成為自節

decode(編碼):位元組通過解碼成為字元

 

追加(a,ab)

在追加模式下. 我們寫入的內容會追加在檔案的結尾

讀寫入模式(r+, r+b)

  對於讀寫入模式. 必須是先讀. 因為預設游標是在開頭的.準備讀取的. 當讀完了之後再進行寫入. 我們以後使用頻率最多的模式就是r+

  需要先讀在寫

寫讀(w+, w+b)

  先將所有的內容清空. 然後寫入. 最後讀取. 但是讀取的內容是空的, 不常用

追加讀(a+)

 

  a+模式下, 不論先讀還是後讀. 都是讀取不到資料的.

其他動作:
  seek(n):seek(n) 游標移動到n位置, 注意, 移動的單位是byte. 所以如果是UTF-8的中文部分要是3的倍數. 通常我們使用seek都是移動到開頭或者結尾. 移動到開頭: seek(0) 移動到結尾: seek(0,2) seek的第二個參數表示的是從哪個位置進行位移, 預設是0, 表示開頭, 1表示當前位置, 2表示結尾

  tell():使用tell()可以協助我們擷取當前游標位置

  truncate() 截斷檔案

    在r+模式下. 如果讀取了內容. 不論讀取內容多少. 游標顯示的是多少. 再寫入 或者操作檔案的時候都是在結尾進行的操作. 所以如果想做截斷操作. 記住了. 要先挪動游標. 挪動到你想要截斷的位置. 然後再進行截斷 關於truncate(n), 如果給出了n. 則從開頭開頭進行截斷, 如果不給n, 則從當前位置截斷. 後面的內容將會被刪除

    另一種開啟檔案的方式:

  with open("娃娃", mode="r", encoding="utf-8") as f1:

    這個不需要關閉檔案,使用方式和上面一樣

python全棧開發08

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.