|  |  |  | 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 sono1(cerca
relativamente alla posizione corrente) e2(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.