- os.walk()
funzione os che restituisce una tupla di 3 elementi che contiene il percorso della directory, un elenco delle sottodirectory all'interno della directory corrente e i nomi dei file
utile per scorrere le subdirectories o i files partendo da una directory root
import os
for root, dirs, files in os.walk("directory root"):
for root, dirs, files in os.walk("directory root", topdown=False): mettendo topdown=False si fa in modo che la ricerca vada dalla ultime sottodectory alla directroy root (dal basso verso l'alto)
- root la sottodirectory corrente
- dirs lista delle sottodirectroy dentro la root
- files files presenti nella root
esempio: root Test con un file "dentro Test.txt" e una subdirectroy "subTest" con 2 files
import os
import shutil
def verifica_files_sito(root_dir):
for root, dirs, files in os.walk(root_dir):
print("root")
print(root)
print()
print("dirs")
print(dirs)
print()
print("files")
print(files)
print()
print("--------------------------")
verifica_files_sito("C:\\Test\\")
risultato:
root
C:\Fuori\Temp\Test\
dirs
['subTest']
files
['dentro Test.txt']
--------------------------
root
C:\Fuori\Temp\Test\subTest
dirs
[]
files
['dentro subTest 1.txt', 'dentro subTest 2.txt']
--------------------------
esempio:
(vedi python - funzioni / metodi - files - gestione file/directory)
- os.listdir(oggetto path)
restutisce una lista dei nomi dei files e delle subdirectories di un oggetto path come root
esempio:
import os
def lista_subdir(root_dir):
# crea una lista usando istruzioni comprehension delle subdirectory verificando che sia una subdirectory
listadir = [d for d in os.listdir(root_dir) if os.path.isdir(os.path.join(root_dir, d))]
return listadir
elencodir = lista_subdir(root_dir)
for dirlist in elencodir:
print(dirlist)