La section des commentaires est réelle (bien qu'elle soit courte) Merci @takahirom!
ʻOs.listdir (chemin) affichera une liste de fichiers et de répertoires dans
chemin`, mais si vous voulez obtenir uniquement des répertoires ou uniquement des fichiers, ce sera un peu. J'y ai pensé.
L'environnement est Python 2.7.10 et le système d'exploitation est Windows 7.
Je pense qu'il existe une manière plus intelligente de le faire.
import glob
import os
def fileonly_listdir(path):
return [ i for i in os.listdir(path) if i not in [ j.replace(path, "").strip("\\") for j in glob.glob(os.path.join(path, "*") + "/")]]
Démonté car difficile à comprendre.
import glob
import os
def fileonly_listdir(path):
list_dir = os.listdir(path) #Obtenir une liste des objets dans le répertoire ... 1
dir_only_list = glob.glob(os.path.join(path, "*") + "/") #Dans un chemin spécifique, la fin est"/"Object = Extraire uniquement le répertoire
#cependant,"path\\dir\\"Sera sous la forme
dir_only_list = [ i.replace(path, "").strip("\\") for i in dir_only_list ] #Éliminer les obstacles ... 2
file_only_list = [ i for i in list_dir if i not in dir_only_list ] #Soustraire 1 à 2
return file_only_list
Donc, si vous voulez une liste de répertoires uniquement
import glob
[ i.replace(path, "").strip("\\") for i in glob.glob(os.path.join(path, "*") + "/")]
C'est bien.
L'imbrication de la notation d'inclusion de liste est très difficile à comprendre, il peut donc être préférable d'utiliser filter
.
Recommended Posts