Sto provando a generare un file di testo che ha un elenco di tutti i file nella directory corrente e tutte le sue sottodirectory con l'estensione ".asp"
. Quale sarebbe il modo migliore per farlo?Come posso creare un elenco di file nella directory corrente e nelle sue sottodirectory con una determinata estensione?
risposta
Si vorrà utilizzare os.walk che lo renderà banale.
import os
asps = []
for root, dirs, files in os.walk(r'C:\web'):
for file in files:
if file.endswith('.asp'):
asps.append(file)
piedi l'albero con os.walk
e contenuti filtro con glob
:
import os
import glob
asps = []
for root, dirs, files in os.walk('/path/to/dir'):
asps += glob.glob(os.path.join(root, '*.asp'))
o con fnmatch.filter
:
import fnmatch
for root, dirs, files in os.walk('/path/to/dir'):
asps += fnmatch.filter(files, '*.asp')
Come os.path.join(). Immagino che OP troverà che ha bisogno di un percorso completo per i file trovati. – hughdbrown
Quando ho fatto la tua seconda soluzione, cerca la stessa directory ripetutamente. Penso che sia necessario: >>> asps = [] >>> p = r'C: \ temp ' >>> per root, dirs, file in os.walk (p): ... asps + = fnmatch.filter ([os.path.join (root, file) per file nei file], "* .txt") – hughdbrown
Ummm, non proprio corretto. Ho lo stesso file in più directory in una directory radice. Sembra che la stessa directory sia stata cercata ripetutamente ma non lo è. sarebbe ancora meglio con il percorso allegato, come nella tua prima soluzione. – hughdbrown
- 1. Ottenere un elenco di tutte le sottodirectory nella directory corrente
- 2. list.files() tutti i file nella directory e nelle sottodirectory
- 3. Come posso ottenere un elenco di tutti i file con una determinata estensione da una directory specifica?
- 4. Elenca i file su una dimensione specifica nella directory corrente e in tutte le sottodirectory
- 5. Restituisce il numero di file nella directory e sottodirectory
- 6. Come si scompatta una sottodirectory nella directory corrente?
- 7. Come posso creare un percorso con tutte le sue sottodirectory in uno scatto in Perl?
- 8. Come trovare solo i file in una determinata directory e ignorare le sottodirectory usando bash
- 9. Ottenere la versione del file e la versione di assembly dei file DLL nella directory corrente e tutte le sottodirectory
- 10. Trova un file con una certa estensione nella cartella
- 11. Elenco di una directory locale con estensione chrome
- 12. File batch di Windows - Concatena tutti i file nelle sottodirectory
- 13. Shell: trova i file in un elenco in una directory
- 14. In modo iterativo ricorsivo su tutti i file in una directory e nelle relative sottodirectory in Qt
- 15. Python recupera il file più recente in una directory con una determinata estensione
- 16. Con vim, come posso utilizzare autocmd per i file nelle sottodirectory di un percorso specifico?
- 17. Contare il numero del tipo di file specifico di una directory e la sua dir secondaria nel mac
- 18. Creare una directory e copiare un file
- 19. Come ottenere file in una directory, comprese tutte le sottodirectory
- 20. Come posso ottenere un NSArray di nomi di file di tutti i file in una determinata directory nella mia app?
- 21. modo migliore per ottenere i file da una directory filtrata da determinata estensione in php
- 22. Compilare l'ultimo file utilizzato nella directory corrente
- 23. Come posso escludere una sottodirectory con un file .dockerignore
- 24. In Python, il modo più veloce per creare un elenco di file in una directory con una certa estensione
- 25. Usa nginx per servire file statici da sottodirectory di una determinata directory
- 26. Come elencare i file nella directory corrente?
- 27. Come recuperare un elenco di directory RAPIDAMENTE in Java?
- 28. Copia tutti i file con una certa estensione da tutte le sottodirectory
- 29. Come creare un file su una directory?
- 30. Come attraversare tutti i file in una directory; se ha sottodirectory, voglio attraversare i file anche nelle sottodirectory
O 'ASP = [(per il file nel file se file.endswith ('.asp')) per _, __, file in os.walk (percorso)] ', che penso sarebbe il modo" Python "di farlo (anche se in realtà è solo una sintassi leggermente più breve per la stessa identica cosa) . –
1 liner sono belli ma non sono esattamente leggibili in Pythonic. – Unknown
Questo ricorre alle directory ma non memorizza i percorsi dei file. – hughdbrown