Enrico's pages/ 2007/ pygnami/ Python versione Bignami - Funzionalità stile shell

Python versione Bignami - Funzionalità stile shell

cp, rm, mv

    import shutil

Pecorsi

    import os

Espansione degli asterischi

Queste funzioni lavorano con pattern che contengono *, ? o classi di caratteri tra quadre, allo stesso modo della shell.

    import glob

File temporanei

    import tempfile

Ambiente del programma

    import os

Operazioni su file e directory

    import os

os.walk

os.walk(dir[, topdown=True]) visita ricorsivamente tutto il contenuto della directory, generando una tupla (dirpath, dirnames, filenames) per ogni directory visitata.

Gli elementi della tupla rappresentano:

se topdown=True e viene modificata dirnames togliendo delle directory, os.walk evita di visitarle.

Per accedere a uno dei file in filenames, basta usare os.path.join(dirpath, file).

Normalmente os.walk genera prima la tupla della directory superiore poi le tuple delle directory inferiori. Se topdown=False, allora genera prima le tuple delle directory inferiori e poi quella della directory superiore.

Esempio:

# Calcolo della dimensione di tutti i file contenuti in una directory
import os
dimensione = 0
for root, dirs, files in os.walk(os.path.expanduser("~")):
        for file in files:
            dimensione += os.path.getsize(os.path.join(root, file))
print "Hai", dimensione, "byte di roba nella home"

Link