Un'istanza di shlex possiede i seguenti metodi:
) |
''
) in modalità non
POSIX, e None in modalità POSIX).
str) |
) |
filename) |
Normalmente, questo metodo toglie subito tutte le virgolette
dall'argomento. Se il risultato è un percorso assoluto, o non c'è
stata una precedente richiesta di una sorgente, o la sorgente
precedente era un flusso (ad esempio sys.stdin
), il
risultato rimane inalterato. Altrimenti, se il risultato è un
percorso relativo, viene prefissato con la parte che si riferisce alla
directory nel nome del file che si trova immediatamente prima
nello stack di inclusione della sorgente (questo comportamento è
simile a quello del preprocessore C quando deve gestire
#include "file.h"
).
Il risultato delle varie manipolazioni viene trattato come un nome di file e restituito come primo componente della tupla, con open() chiamato su di esso per ottenere il secondo componente (Notate: questo è l'inverso dell'ordine degli argomenti nell'inizializzazione dell'istanza!).
Questo aggancio è stato presentato in modo che possiate usarlo per implementare percorsi di ricerca nelle directory, aggiungere estensioni di file ed altre manipolazioni sul namespace. Non c'è un corrispondente aggancio `close', ma un'istanza di shlex richiamerà il metodo close() del flusso in input sorgente quando esso restituirà EOF.
Per avere un controllo più esplicito dello stack delle sorgenti, usate i metodi push_source() e pop_source().
stream[, filename]) |
) |
[file[, line]]) |
'"%s", line %d: '
,
dove "%s" viene rimpiazzato dal nome del file sorgente corrente e
"%d" con il numero della riga di input corrente (gli argomenti
facoltativi possono essere utilizzati per sovrascrivere questo
comportamento predefinito).
Questa utilità viene fornita allo scopo di incoraggiare gli utenti di shlex a generare messaggi di errore nel formato standard riconosciuto da Emacs e da altri strumenti Unix.
Le istanze delle sotto classi di shlex possiedono alcune variabili d'istanza pubbliche che permettono di controllare l'analisi lessicale oppure utilizzabili per il debugging:
True
, i token verranno suddivisi solamente quando incontrano
spazi vuoti. Questo è utile, per esempio, per esaminare le righe di
comando con shlex, ottenendo i token in modo simile agli
argomenti passati alla shell.
Nuovo nella versione 2.3.
1
o più, un'istanza
shlex stamperà in modo prolisso e progressivo l'output
riguardo al suo andamento. Se c'è la necessità di utilizzarlo,
potete trovare i dettagli leggendo il codice sorgente del modulo.
''
), in modalità non POSIX, e None in
modalità POSIX.
Nuovo nella versione 2.3.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.