/ / Ottenere file da più cartelle con Python - python, python-2.7, path, dataset

Ottenere file da più cartelle con Python - python, python-2.7, path, dataset

Ho bisogno di costruire un array con alcuni file da un set di dati con una struttura come questa:

  1. FolderA:

    • FolderA1:
    • FolderA2:
      • File01.txt
  2. 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 № 1

Puoi 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.