网络编程(part3)--文件读写之二进制文件读写/with操作
鄙人學習筆記
文章目錄
- 二進制文件讀寫
- 舉個例子1(以二進制方式打開并讀取txt文件)
- 舉個例子2(以二進制方式打開并讀取圖片)
- 舉個例子3(二進制文件打開并寫入操作)
- 關閉文件
- with操作
- with語句的語法格式
- 舉個例子
二進制文件讀寫
file_object = open(file_name, access_mode='r', buffering=-1) 功能:打開一個文件,返回一個文件對象。 參數:file_name————文件名;access_mode————打開文件的方式,如果不寫默認為‘r’ 文件模式 操作rb 以二進制讀模式打開 同rwb 以二進制寫模式打開 同wab 以二進制追加模式打開 同arb+ 以二進制讀寫模式打開 同r+wb+ 以二進制讀寫模式打開 同w+ab+ 以二進制讀寫模式打開 同a+舉個例子1(以二進制方式打開并讀取txt文件)
首先看一下要讀取的文件數據:
讀取:
結果:
由結果可知,我們得到了一堆字節串。
在網絡傳輸的過程中,要求不能傳輸字符串,只能傳輸字節串,則可以用這種方式進行去讀取。
我們可以用decode()將字節串轉換成字符串:
結果:
舉個例子2(以二進制方式打開并讀取圖片)
我們先看一下我們的圖片:
我們以r的形式打開文件:
結果:
會報錯!所以,我們如果要打開二進制編碼的文件(視頻、音頻),必須要以二進制的打開方式(字節串的打開方式)。
備注:二進制的方式(字節串的打開方式)可以打開所有文件。
我們以rb的形式打開:
部分結果:
舉個例子3(二進制文件打開并寫入操作)
寫入:
備注:我們以wb的形式打開文件,則必須要以字節串的形式寫入,故我們要在字符串【hello world】前加【b】,將其轉化為字節串。
結果:
關閉文件
file_object.close()打開一個文件后我們就可以通過文件對象對文件進行操作了,當操作結束后使用close()關閉這個對象可以防止一些誤操作,也可以節省資源。
with操作
python中的with語句使用于對資源進行訪問的場合,保證不管處理過程中是否發生錯誤或者異常都會執行規定的“清理”操作,釋放被訪問的資源。比如,文件讀寫后自動關閉、線程中鎖的自動獲取和釋放等。
with語句的語法格式
with context_expression [as target(s)]:with-body備注:context_expression為條件語句,as target(s) 表示將條件語句生成一個target(s)對象,with-body為語句塊。在執行完語句塊后,生成的對象會被自動清理。
通過with方法可以不用close(),因為with生成的對象在語句塊結束后會自動處理,所以也就不需要close了,但是這個文件對象只能在with語句塊內使用:
with open('file','r+') as f:f.read()上面這段代碼的意思是,將打開的文件對象定義為f, 之后用f進行讀取操作,當語句塊結束后,會自動清除文件對象f.
備注:并不是所有對象都能用with.
舉個例子
代碼:
結果:
總結
以上是生活随笔為你收集整理的网络编程(part3)--文件读写之二进制文件读写/with操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3大理由决定企业 AI 必须“负责”
- 下一篇: 梦幻西游大闹天宫副本怎么通关 大闹天宫副