2015-11-30 4 views
0

Je veux créer une nouvelle liste en Python de noms de fichiers dans un répertoire défini par l'utilisateurComment créer une liste de noms de fichiers dans un répertoire particulier en python

Je ne peux pas tout à fait obtenir ma tête autour de la syntaxe subprocess de le wiki et certaines commandes utilisant PIPE semblent être découragés.

donc j'invite à définir quel répertoire pour charger à partir de:

répertoire = raw_input ("Chemin vers le répertoire: ")

Ensuite, exécutez subprocess.check_output ([" ls", "par exemple .txt "]) dans le répertoire spécifié et placez la sortie dans list1.

+0

Je suggère d'utiliser python 'os' bibliothèque parcourir le répertoire donné, en listant tous les fichiers. 'subprocess' est une overkill pour une tâche aussi simple. – Maciek

Répondre

1

Vous pouvez faire:

import os 
import glob 

files = list(glob.glob(os.path.join(directory,'*.*'))) 
+0

Parfait, merci. – DanielHolden

1

Vous pouvez simplement utiliser la fonction de la bibliothèque standard qui fait exactement ce que vous voulez:

import os 
list1 = os.listdir(directory) 
print(list1) 
0
#!/usr/bin/env python -u 
# -*- coding: utf-8 -*- 

from os import listdir 
directory = raw_input("Path to directory: ") 
files_dir = listdir(directory) 
newlist = [] 
for names in files_dir: 
    if names.endswith(".txt"): 
     newlist.append(names) 
print newlist