path, mode) |
path) |
fd) |
) |
) |
path) |
path, mode) |
S_ISUID
S_ISGID
S_ENFMT
S_ISVTX
S_IREAD
S_IWRITE
S_IEXEC
S_IRWXU
S_IRUSR
S_IWUSR
S_IXUSR
S_IRWXG
S_IRGRP
S_IWGRP
S_IXGRP
S_IRWXO
S_IROTH
S_IWOTH
S_IXOTH
path, uid, gid) |
path, uid, gid) |
src, dst) |
path) |
'.'
e '..'
benchè presenti nella directory.
Disponibilità: Macintosh, Unix, Windows.
Modificato nella versione 2.3: Su Windows NT/2k/XP ed in Unix, se path è un oggetto Unicode, anche il risultato sarà una lista di oggetti Unicode..
path) |
path[, mode]) |
0666
(ottale).
Il valore corrente della umask viene prima applicato come maschera a
mode.
Disponibilità: Unix.
Le FIFO sono pipe a cui si può accedere come a dei file regolari. Le FIFO continuano ad esistere finché non vengono cancellate (ad esempio con os.unlink()). Generalmente le FIFO vengono usate come sincronizzazione tra processi ``client'' e processi ``server'': il server apre la FIFO in lettura ed il client la apre in scrittura. Notate che mkfifo() non apre la FIFO -- crea solamente il punto di sincronizzzione.
path[, mode=0600, device]) |
device) |
device) |
major, minor) |
path[, mode]) |
0777
(ottale). In alcuni sistemi, mode viene
ignorato. Dove usato, il valore corrente di umask viene prima applicato
come maschera.
Disponibilità: Macintosh, Unix, Windows.
path[, mode]) |
0777
(ottale). Questa funzione non gestisce in modo corretto i
percorsi UNC (di rilievo solo per sistemi Windows; i percorsi Universal
Naming Convention) sono quelli che usano la sintassi
`\\host\path
'.
Nuovo nella versione 1.5.2.
path, name) |
pathconf_names
. Per le variabili di configurazione non
incluse in questo dizionario, è accettabile passare un numero intero
come valore di name.
Disponibilità: Unix.
Se il parametro name è una stringa e non è nota, viene sollevata
un'eccezione ValueError. Se un valore specifico per
name non viene supportato dal sistema ospite anche se presente in
pathconf_names
, viene sollevata un'eccezione OSError
con un valore pari a errno.EINVAL come codice di errore.
path) |
os.path.join(os.path.dirname(path), result)
.
Disponibilità: Unix.
path) |
path) |
src, dst) |
old, new) |
path) |
path) |
Modificato nella versione 2.3: Se stat_float_times restituisce vero, i tempi sono dei numeri in virgola mobile che indicano secondi. Le frazioni di secondo possono venire indicate se il sistema lo supporta. Su Mac OS, i tempi sono sempre numeri in virgola mobile. Vedete stat_float_times per ulteriori dettagli. .
Su qualche tipo di Unix (ad esempio Linux), possono anche essere disponibili i seguenti attributi: st_blocks (numero di blocchi allocati per file), st_blksize (dimensione di un blocco usata dal filesystem), st_rdev (tipo di dispositivo, se si tratta di un inode che rappresenta un dispositivo).
Su sistemi Mac OS, possono anche essere disponibili i seguenti attributi: st_rsize, st_creator, st_type.
Su sistemi RISCOS, sono anche disponibili i seguenti attributi: st_ftype (tipo di file), st_attrs (attributi), st_obtype (tipo di oggetto).
Per compatibilità con le versioni precedenti, il valore restituito da stat() è anche accessibile come una tupla di almeno 10 numeri interi, che raccoglie i più importanti (e portabili) elementi della struttura stat, nell'ordine: st_mode, st_ino, st_dev, st_nlink, st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime. Altri elementi possono venire aggiunti tramite alcune implementazioni. Il modulo standard stat definisce le funzioni e le costanti utili per estrarre informazioni da una struttura stat. (Su Windows, ad alcuni elementi vengono assegnati valori fittizi). Disponibilità: Macintosh, Unix, Windows.
Modificato nella versione 2.2: Aggiunta la possibilità di accedere ai valori mediante gli attributi dell'oggetto restituito.
[newvalue]) |
Per compatibilità con precedenti versioni di Python, utilizzando stat_result come tupla si ottengono sempre interi. Per compatibilità con Python 2.2, anche accedendo ai valori dei tempi attraverso i nomi dei campi, si ottengono interi. Le applicazioni che vogliano ottenere le frazioni di secondo dei tempi possono usare questa funzione per ottenere i tempi espressi in numeri in virgola mobile. Se riusciranno o meno ad ottenere effettivamente frazioni diverse da zero dipenderà dal sistema sottostante.
Future versioni di Python cambieranno il valore predefinito di questa impostazione; applicazioni che non possono gestire i tempi espressi come numeri in virgola mobile potranno usare questa funzione per disattivare la caratteristica.
Si raccomanda di cambiare questa impostazione solo alla partenza del programma nel modulo __main__; le librerie non dovrebbero mai cambiare questa impostazione. Se un'applicazione usa una libreria che non funziona correttamente nell'elaborare i tempi dei file in forma di numeri in virgola mobile, questa applicazione dovrebbe disattivare la caratteristica fino a che la libreria non sia stata corretta.
path) |
Per compatibilità con le versioni precedenti, il valore restituito è anche accessibile come tupla i cui elementi corispondono agli attributi dell'oggetto, nell'ordine descritto precedentemente. Il modulo standard statvfs definisce costanti che sono utili per estrarre informazioni da una struttura statvfs quando vi si accede come ad una sequenza; ciò è ancora utile qualora si scriva codice che deve funzionare con versioni di Python che non supportano l'accesso ai campi di statvfs in termini di attributi.
Modificato nella versione 2.2: Aggiunta la possibilità di accedere agli elementi di statvfs come attributi dell'oggetto restituito.
src, dst) |
[dir[, prefix]]) |
None
. Se dir viene specificata e non
è None
, allora prefix viene usato per fornire un prefisso
breve al nome del file. Le applicazioni hanno la responsabilità di
creare e gestire correttamente i file creati usando i percorsi
restituiti da tempnam(); non viene effettuata nessuna pulizia
automatica dei file temporanei. In Unix, la variabile ambientale
TMPDIR ha precedenza sul parametro dir, mentre in
Windows viene usata la variabile TMP. Il comportamento
specifico di questa funzione dipende dall'implementazione della
sottostante libreria C; alcuni aspetti sono specificati in modo
insufficiente nella documentazione di sistema.
L'uso di tempnam() rende il programma vulnerabile
ad attacchi di tipo symlink; considerate come alternativa l'uso di
tmpfile().
Disponibilità: Unix, Windows.
) |
path) |
path, times) |
None
, allora i tempi di
accesso e di modifica vengono impostati sul tempo corrente. Altrimenti
times deve essere una coppia di numeri, della forma
(atime, mtime)
, usati rispettivamente come tempo di
accesso e di modifica.
Modificato nella versione 2.0:
Aggiunto il supporto per times uguale a
None
.
Disponibilità: Macintosh, Unix, Windows.
top[, topdown=True
[, onerror=None ]]) |
(dirpath, dirnames, filenames)
.
dirpath è una stringa, corrispondente al percorso della directory.
dirnames è una lista dei nomi delle sotto directory di
dirpath (escluse '.'
e '..'
). filenames è
una lista dei nomi dei file di tipo non directory contenuti in
dirpath. Notate che i nomi in queste liste non contengono i
percorsi. Per ottenere un percorso completo (relativo a top)
per un file o una directory in dirpath, eseguite
os.path.join(dirpath, name)
.
Se il parametro facoltativo topdown vale vero o non viene specificato, la tripla relativa ad una specifica directory viene sempre generata prima delle triple per ciascuna delle sue sotto directory. (le directory vengono generate dall'alto in basso). Se topdown vale falso, la tripla di una specifica directory viene generata dopo le triple di tutte le sue sotto directory (le directory vengono generate dal basso in alto).
Quando topdown vale vero, il chiamante può modificare la lista dirnames direttamente (ad esempio usando del o l'assegnamento di una fetta della lista), e walk() processerà solamente quelle directory i cui nomi sono ancora in dirnames; questo sistema può venire usato per limitare la ricerca, imporre un particolare ordine con cui le directory devono essere visitate o persino per comunicare a walk() i nomi di directory che create o rinominate dal chiamante prima che il controllo venga passato di nuovo a walk(). Modificare dirnames quando topdown vale falso non ha nessun effetto, perché procedendo dal basso verso l'alto, le directory in dirnames vengono analizzate prima di generare la stessa lista dirnames.
In modo predefinito, gli errori generati dalla chiamata a
os.listdir()
vengono ignorati. Se il parametro facoltativo
onerror viene specificato, dovrebbe essere una funzione; tale
funzione verrà chiamata con un argomento, che è un'istanza di os.error.
La funzione può riportare l'errore e far procedere la scansione
dell'albero, oppure può sollevare un'eccezione e far abortire la
scansione. Notate che il nome del file relativo all'errore è
disponibile come attributo filename
dell'oggetto eccezione.
os.path.islink(path)
e quindi chiamare direttamente
walk(path)
su ciascuna di esse.
Questo esempio stampa il numero di byte usato da ciascun file, esclusi quelli di tipo directory, che si trovi in una sotto directory di quella di partenza, escluse le directory CVS e le loro sotto directory.
import os from os.path import join, getsize for root, dirs, files in os.walk('python/Lib/email'): print root, "usa", print sum([getsize(join(root, name)) for name in files]), print "byte in", len(files), "file di tipo non directory" if 'CVS' in dirs: dirs.remove('CVS') # non visitare directory CVS
Nel prossimo esempio, il fatto di percorrere l'albero dal basso in alto è essenziale: rmdir() non permette di cancellare una directory se questa non è vuota.
import os from os.path import join # Cancella tutto ciò che è raqggiungibile dalla directory # indicata in 'top' # ATTENZIONE: è pericoloso! Per esempio se top == '/' # potrebbe cancellare tutti i vostri file sul disco!! for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(join(root, name)) for name in dirs: os.rmdir(join(root, name))
Nuovo nella versione 2.3.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.