listdir(path) ci restituisce la lista contenente i nomi degli oggetti contenuti in path. Non sono in ordine e non sono inclusi i nomi speciali "." e ".."

Come si vede dallo screenshot la lista possiamo sortarla noi.
mkdir(path, [mode]) crea la directory path, con modalità (permessi) mode (opzionale, non darlo va benissimo).

come si vede abbiamo creato la dir nuova che adesso cancelliamo

Per cancellare uno o più file usare remove.
È possibile creare più directories una dentro l'altra con makedirs.
rename(src, dst) cambia il nome a un file o una dir, da src a dst.

Un altro modulo contenente funzioni di manipolazione dei pathname è os.path.
abspath(path) restituisce il nome assoluto, cioè dalla root

basename() restituisce il nome senza percorso

Attenzione che è diverso dal comando di shell basename, come si vede dall'ultimo esempio.
dirname(path) restituisce la directory di path; è l'opposto di basename visto prima

exists() ci dice se l'oggetto esiste; dipende anche dai permessi.

expanduser() l'abbiamo già visto, comunque ecco

expandvars() ci permette di ritrovare le variabili di sistema

getsize() ritorna le dimensioni, in bytes

Attenzione che per una dir ritorna 4096 (o un'altra dimensione fissa, dipende dal file system) e non quella dei files che contiene.
isfile() e isdir() ci dicono se il file e la directory esistono

islink() ci dice se esiste il link simbolico

join() unisce i path; attenzione che è maliziosa, vedi il secondo esempio

se del caso usare normpath(); attenzione ai pasticci

relpath() ritorna il nome relativo alla directory corrente o a una posizione data

split() divide la path in una coppia in cui il secondo termine è l'ultima componente del path

splitext() separa l'estensione dalla path

OK, queste sono le funzioni principali che Python ci mette a disposizione per gestire file, directory, link e quant'altro. Non sono tutte qui ma a questo punto avrete capito che prima di metterci a scriverne di nostre conviene vedere se non ci sono già. Le trovate qui
E, naturalmente la stessa cosa vale per gli altri moduli, per esempio fate un salto a sys
O volete che faccia un altro post noioso come questo?
Juhan
Indice del sequel "Mission Python" qui.
Alla prossima!
Grazie.
RispondiElimina