Ho bisogno di costruire un array con alcuni file da un set di dati con una struttura come questa:
FolderA:
- FolderA1:
- FolderA2:
- File01.txt
FolderB:
- FolderB1:
- FolderB2:
- File01.txt
Diciamo che ho bisogno di File01.txt dalle cartelle A, B, D e F. Come posso ottenere quei file?
risposte:
0 per risposta № 1Puoi usare il glob
modulo:
import glob
base_dir = "."
folders = ("A", "B", "D", "F")
pattern = "{}/[{}]/*/File01.txt".format(base_dir, "".join(folders))
for filename in glob.glob(pattern):
print(filename)
Il crea il modello glob ./[ABDF]/*/File01.txt
. Se lo script viene eseguito nella directory contenente le cartelle di livello superiore nell'esempio, verrà generato:
./A/A2/File01.txt ./B/B2/File01.txt
Puoi anche usare percorsi relativi e assoluti; basta cambiare base_dir
come appropriato. Quindi puoi eseguire lo script da qualsiasi luogo.