![Previous Page](../icons/previous.png) |
![Up One Level](../icons/up.png) |
![Next Page](../icons/next.png) |
La libreria di riferimento di Python |
![Contents](../icons/contents.png) |
![Module Index](../icons/modules.png) |
![Index](../icons/index.png) |
12.10.1 Oggetti MultiFile
Un'istanza MultiFile possiede i seguenti metodi:
-
Legge una riga. Se la riga è composta da dati (non un separatore di
sezione o un marcatore di fine o un vero EOF) la restituisce. Se la
riga corrisponde al delimitatore impilato più recentemente,
restituisce
''
ed imposta self.last
a 1
o a
0
, a seconda che la corrispondenza sia o non sia un marcatore
di fine. Se la riga corrisponde ad un qualsiasi altro delimitatore
impilato, solleva un'eccezione Error. Al raggiungimento
della fine del file sul sottostante oggetto flusso, il metodo genera
un errore, a meno che non siano stati estratti dalla pila tutti i
delimitatori.
-
Restituisce tutte le righe rimanenti in questa parte come lista di
stringhe.
-
Legge tutte le righe, fino alla sezione successiva. Le restituisce
come singola stringa (multiriga). Notare che questo metodo non
accetta un argomento legato alla dimensione!
-
Ricerca. Gli indici di ricerca sono relativi all'inizio della sezione
corrente. Gli argomenti pos e whence vengono interpretati
come nella ricerca su file.
-
Restituisce la posizione nel file relativa all'inizio della sezione
corrente.
-
Salta le righe fino alla sezione successiva (cioè, legge le righe
finché non viene utilizzato un divisore di sezione o un marcatore di
fine). Restituisce vero se tale sezione esiste, falso se viene
trovato un marcatore di fine. Riabilita il delimitatore impilato più
di recente.
-
Restituisce vero se str è costituita da dati e falso in caso
risulti un limite della sezione. Cosi come scritto, controlla la
presenza di un prefisso diverso da
'-
-'
all'inizio della
riga (cosa che tutti i delimitatori MIME possiedono) ma viene
dichiarato cosicché possa essere sovrascritto nelle classi derivate.
Notare che questo test viene utilizzato come avanguardia per i test
effettivi sui delimitatori; se restituisce sempre falso rallenterà
semplicemente la velocità d'elaborazione, ma non provocherà il
fallimento dei test stessi.
-
Inserisce nella pila una stringa di delimitazione. Quando viene
trovata come riga di input una versione debitamente corredata di
delimitatore, verrà interpretata come divisore di sezione o marcatore.
Tutte le operazioni di lettura seguenti restituiranno la stringa vuota
per indicare la fine del file, finché una chiamata al metodo
pop() non rimuoverà il delimitatore o una chiamata al metodo
next() lo riabiliterà.
È possibile inserire nella pila più di un delimitatore. Incontrare
il delimitatore inserito più recentemente restituirà EOF; incontrare
ogni altro delimitatore solleverà un'eccezione Error.
-
Estrae dalla pila un delimitatore di sezione. Questo delimitatore non
verrà più interpretato come EOF.
-
Trasforma un delimitatore in una riga che dividerà la sezione. Come
comportamento predefinito, questo metodo antepone
'-
-'
(inserito in ogni delimitatore di sezione MIME) ma viene dichiarato in
maniera tale che possa essere sovrascritto nelle classi derivate.
Questo metodo non ha bisogno di aggiungere in coda LF o CR-LF, dato
che il confronto con il risultato ignora gli spazi vuoti iniziali.
-
Trasforma un delimitatore in una riga marcatore di fine. Come
comportamento predefinito, questo metodo antepone
'-
-'
ed aggiunge in coda '-
-'
(come un marcatore di fine
messaggio MIME-multiparte) ma viene dichiarato in maniera tale che
possa essere sovrascritto nelle classi derivate. Questo metodo non ha
bisogno di aggiungere in coda LF o CR-LF, dato che il confronto con il
risultato ignora gli spazi vuoti iniziali.
Infine, le istanze MultiFile hanno due variabili d'istanza
pubbliche:
- level
-
Profondità di annidamento della parte corrente.
- last
-
Vero se l'ultima condizione di end-of-file era relativa ad un
marcatore di fine messaggio.
![Previous Page](../icons/previous.png) |
![Up One Level](../icons/up.png) |
![Next Page](../icons/next.png) |
La libreria di riferimento di Python |
![Contents](../icons/contents.png) |
![Module Index](../icons/modules.png) |
![Index](../icons/index.png) |
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.