 |
 |
 |
La libreria di riferimento di Python |
 |
 |
 |
Questo modulo fornisce un'interfaccia per leggere i file che usano
spezzoni.14.1 Questo
formato viene usato nei file con formato
Audio
Interchange File Format (AIFF/AIFF-C) e nel formato
Real Media File Format
(RMFF). Il formato audio WAVE � strettamente correlato e si pu�
leggere usando questo modulo.
Uno spezzone ha la seguente struttura:
| 0 |
4 |
Chunk ID |
| 4 |
4 |
Dimensione dello spezzone nell'ordine big-endian, non
include l'header |
| 8 |
n |
Dati in bytes, dove n � la dimensione
fornita nel precedente campo |
| 8 + n |
0 o 1 |
Blocco di byte necessario se n �
dispari e viene usato l'allineamento degli spezzoni |
L'ID � una stringa di 4 byte che identifica il tipo di spezzone.
La dimensione del campo (un valore a 32 bit, codificato usando
big-endian) fornisce la dimensione dei dati dello spezzone, esclusi
gli 8 byte dell'intestazione.
Di solito un file di tipo IFF si compone di uno o pi� chunk. L'uso
proposto della classe Chunk qui definita � istanziare
un'istanza all'avvio di ogni spezzone e leggere dall'istanza prima che
raggiunga la fine, fatto questo, pu� essere creata una nuova istanza.
Giunti alla fine del file, la creazione di una nuova
istanza fallir�, sollevando l'eccezione EOFError.
| class Chunk( |
file[, align, bigendian, inclheader]) |
-
Classe che rappresenta uno spezzone. L'argomento file viene
atteso come un oggetto simile a file. Un'istanza di questa classe �
specificatamente permessa. Il solo metodo richiesto �
read(). Se i metodi seek() e tell() sono
presenti e non sollevano eccezioni, allora significa che si aspettano
di non dovere alterare l'oggetto. Se l'argomento facoltativo
align � vero, si presuppone che gli spezzoni siano allineati sul
limite dei 2 byte. Se align � falso, non si presuppone alcun
allineamento. Il valore predefinito � vero. Se l'argomento
facoltativo bigendian � falso, si assume che la dimensione dello
spezzone sia ordinata in little-endian. Questo � necessario per i
file audio WAVE. Il valore predefinito � vero. Se l'argomento
facoltativo inclheader � vero, la dimensione fornita
nell'intestazione dello spezzone include la misura dell'intestazione.
Il valore predefinito � falso.
Un oggetto Chunk supporta i seguenti metodi:
-
Restituisce il nome (ID) dello spezzone. Questo � il primo dei 4 byte
dello spezzone.
-
Restituisce la dimensione dello spezzone.
-
Chiude e passa alla fine dello spezzone. Questo non chiude i file
sottostanti.
I restanti metodi sollevano un'eccezione IOError se
vengono chiamati dopo aver chiamato il metodo close().
-
Restituisce
False.
-
Imposta la posizione corrente dello spezzone. L'argomento
whence � facoltativo ed ha come valore predefinito lo
0
(posizionamento assoluto nel file); altri valori sono 1 (cerca
relativamente alla posizione corrente) e 2 (cerca relativamente
alla fine del file). Non viene restituito alcun valore. Se il file
sottostante non permette la ricerca con seek, � permessa la sola
ricerca di dati successivi al posizionamento nel file.
-
Restituisce la corrente posizione nello spezzone.
-
Legge la maggiore parte della dimensione, size, dello spezzone
(meno se la lettura raggiunge la fine dello spezzone prima di
ottenerne la dimensione size in byte). Se l'argomento
size � negativo o viene omesso, legge tutti i dati prima della
fine dello spezzone. I byte vengono restituiti come un oggetto
stringa. Viene restituita una stringa vuota quando viene raggiunta la
fine dello spezzone.
-
Salta alla fine dello spezzone. Tutte le chiamate a read()
per lo spezzone restituiranno
''. Se non si � interessati al
contenuto dello spezzone, questo metodo dovrebbe essere chiamato in
modo da far puntare il file all'inizio del prossimo spezzone.
Footnotes
- ...
spezzoni.14.1
- ``EA IFF 85'' Standard for Interchange Format
Files, di Jerry Morrison, Electronic Arts, January 1985.
 |
 |
 |
La libreria di riferimento di Python |
 |
 |
 |
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.