新聞中心
chunk —- 讀取 IFF 分塊數(shù)據(jù)
源代碼: Lib/chunk.py

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)中山免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
從版本 3.11 開始標記為過時,將在版本 3.13 中移除。: chunk 模塊已被棄用(請參閱 PEP 594 了解詳情)。
本模塊提供了一個讀取使用 EA IFF 85 分塊的數(shù)據(jù)的接口chunks. 1 這種格式使用的場合有 Audio Interchange File Format (AIFF/AIFF-C) 和 Real Media File Format (RMFF) 等。 與它們密切相關(guān)的 WAVE 音頻文件也可使用此模塊來讀取。
一個分塊具有以下結(jié)構(gòu):
|
偏移 |
長度 |
目錄 |
|---|---|---|
ID是一個4字節(jié)的字符串,用于標識塊的類型。
大小字段(32 位的值,使用大端字節(jié)序編碼)給出分塊數(shù)據(jù)的大小,不包括 8 字節(jié)的標頭。
使用由一個或更多分塊組成的 IFF 類型文件。 此處定義的 Chunk 類的建議使用方式是在每個分塊開始時實例化一個實例并從實例讀取直到其末尾,在那之后可以再實例化新的實例。 到達文件末尾時,創(chuàng)建新實例將會失敗并引發(fā) EOFError 異常。
class chunk.Chunk(file, align=True, bigendian=True, inclheader=False)
代表一個分塊的類。 file 參數(shù)預(yù)期為一個文件類對象。 特別地也允許該類的實例。 唯一必需的方法是 read()。 如果存在 seek() 和 tell() 方法并且沒有引發(fā)異常,它們也會被使用。 如果存在這些方法并且引發(fā)了異常,則它們不應(yīng)改變目標對象。 如果可選參數(shù) align 為真值,則分塊應(yīng)當(dāng)以 2 字節(jié)邊界對齊。 如果 align 為假值,則不使用對齊。 此參數(shù)默認為真值。 如果可選參數(shù) bigendian 為假值,分塊大小應(yīng)當(dāng)為小端序。 這對于 WAVE 音頻文件是必須的。 此參數(shù)默認為真值。 如果可選參數(shù) inclheader 為真值,則分塊標頭中給出的大小將包括標頭的大小。 此參數(shù)默認為假值。
Chunk 對象支持下列方法:
getname()
返回分塊的名稱(ID)。 這是分塊的頭 4 個字節(jié)。
getsize()
返回分塊的大小。
close()
關(guān)閉并跳轉(zhuǎn)到分塊的末尾。 這不會關(guān)閉下層的文件。
在 close() 方法已被調(diào)用后其余方法將會引發(fā) OSError。 在 python 3.3 之前,它們曾會引發(fā) IOError,現(xiàn)在這是 OSError 的一個別名。
isatty()
返回
False。seek(pos, whence=0)
設(shè)置分塊的當(dāng)前位置。 whence 參數(shù)為可選項并且默認為
0(絕對文件定位);其他值還有1(相對當(dāng)前位置查找) 和2(相對文件末尾查找)。 沒有返回值。 如果下層文件不支持查找,則只允許向前查找。tell()
將當(dāng)前位置返回到分塊。
read(size=- 1)
從分塊讀取至多 size 個字節(jié)(如果在獲得 size 個字節(jié)之前已到達分塊末尾則讀取的字節(jié)會少于此數(shù)量)。 如果 size 參數(shù)為負值或被省略,則讀取所有字節(jié)直到分塊末尾。 當(dāng)立即遇到分塊末尾則返回空字節(jié)串對象。
skip()
跳到分塊末尾。此后對分塊再次調(diào)用 read() 將返回
b''。 如果你對分塊的內(nèi)容不感興趣,則應(yīng)當(dāng)調(diào)用此方法以使文件指向下一分塊的開頭。
備注
1
“EA IFF 85” 交換格式文件標準, Jerry Morrison, Electronic Arts, 1985 年 1 月。
網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:chunk —- 讀取 IFF 分塊數(shù)據(jù)
本文URL:http://m.fisionsoft.com.cn/article/dpdhcdo.html


咨詢
建站咨詢
