十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
讀寫二進(jìn)制文件,比如圖片,聲音文件等等。
創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為龍華等服務(wù)建站,龍華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為龍華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
使用模式為 rb 或 wb 的 open() 函數(shù)來(lái)讀取或?qū)懭攵M(jìn)制數(shù)據(jù)。比如:
在讀取二進(jìn)制數(shù)據(jù)時(shí),需要指明的是所有返回的數(shù)據(jù)都是字節(jié)字符串格式的,而不是文本字符串。
類似的,在寫入的時(shí)候,必須保證參數(shù)是字節(jié)字符串或字節(jié)數(shù)組對(duì)象等。
讀取二進(jìn)制數(shù)據(jù)時(shí),字節(jié)字符串和文本字符串的語(yǔ)義差異可能會(huì)導(dǎo)致一個(gè)潛在的陷阱。 特別需要注意的是,索引和迭代操作,返回的是字節(jié)的值而不是字節(jié)字符串。比如:
如果從二進(jìn)制模式的文件中讀取或?qū)懭胛谋緮?shù)據(jù),必須確保要進(jìn)行解碼和編碼操作。比如:
bytes表示字節(jié)數(shù)組,每個(gè)單元表示單個(gè)字節(jié)。該類型字符串的表示方法和str類型類似,不過需要在前面加上b,比如:
a=b'abc'
print(type(a))#輸出結(jié)果class 'bytes'
當(dāng)然也可以使用雙引號(hào)或者三引號(hào)。
需要注意的是,不能使用中文字符,因?yàn)橹形淖址麩o(wú)法用單個(gè)0~255之間的值來(lái)表示。另外可以使用“\數(shù)值”來(lái)表示單個(gè)字符,如123表示S。
b'\123'? #等同于b's'
它們之間是可以相互轉(zhuǎn)換的。如從str轉(zhuǎn)換成bytes,可以使用encode()成員函數(shù)。
a="abc"
b=a.encode("utf-8")
print(type(b))#輸出結(jié)果class 'bytes'
從bytes類型轉(zhuǎn)換成str類型可以使用成員函數(shù)decode()。
python中l(wèi)en()的用法:
新建一個(gè)len()函數(shù)的使用py,中文編碼聲明注釋:#coding=gbk,函數(shù):len()作用:返回字符串、列表、字典、元組等長(zhǎng)度。語(yǔ)法:len(str)。參數(shù):str:要計(jì)算的字符串、列表、字典、元組等。返回值:字符串、列表、字典、元組等元素的長(zhǎng)度。
實(shí)例:
1、計(jì)算字符串的長(zhǎng)度。
2、計(jì)算列表的元素個(gè)數(shù)。
3、計(jì)算字典的總長(zhǎng)度,即鍵值對(duì)總數(shù)。
4、計(jì)算元組元素個(gè)數(shù)。
在Python中,要知道一個(gè)字符串有多少個(gè)字符,以獲得字符串的長(zhǎng)度,或者一個(gè)字符串需要多少字節(jié),可以使用len函數(shù)。