[PYTHON] Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire

Postscript

La section des commentaires est réelle (bien qu'elle soit courte) Merci @takahirom!

Contexte

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

Le résultat d'essayer

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

Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire
Recherchez le nom du fichier, y compris le mot et l'extension spécifiés dans le répertoire
Obtenir le nom de fichier dans un dossier à l'aide de glob
Accès aux fichiers sous le répertoire
Obtenez le nom de fichier enregistré dans AWS S3 (1000 ou plus)
[Note] Importation de fichiers dans le répertoire parent en Python
Extraire le fichier xz avec python
Enregistrez le fichier binaire en Python
L'histoire du "trou" dans le fichier
Extraire le fichier targz en utilisant python
Obtenez le nom d'hôte en Python
Enregistrez le fichier d'authentification Pydrive dans un répertoire différent du script
Formatez le journal Git et obtenez le nom du fichier validé au format csv
Extraire des informations à l'aide de File :: Stat dans Ruby
Mémorandum (Ajouter le nom uniquement aux personnes portant le même nom de famille dans la liste)
Démarrez le serveur Web dans le répertoire actuel
Lisez le fichier ligne par ligne avec Python
Afficher le chemin complet (chemin absolu) d'un fichier dans un répertoire sous Linux Bash
Lisez le fichier ligne par ligne avec Python
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Installez le module Python dans n'importe quel répertoire
[Python] Lire la ligne spécifiée dans le fichier
[Décompresser] Comment décompresser uniquement les fichiers arbitraires de ceux avec des délimiteurs de répertoire antislashés dans les fichiers zip
Erreur d'importation: impossible d'importer le nom 'Flask' lorsque le nom de fichier est flask.py dans Flask
Python / subprocess> Implémentation de lien symbolique pour obtenir uniquement le nom du fichier de destination> os.readlink ()
Gérez CSV avec l'élément que vous souhaitez analyser dans le nom du fichier
Extrayez le nom du produit et le prix de la liste de produits dans l'e-mail de déclaration d'achat de Yodobashi.com.
Utilisez PIL en Python pour extraire uniquement les données souhaitées d'Exif
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Pipfile n'est pas créé dans le répertoire courant
Accéder aux fichiers dans le même répertoire que le fichier exécutable
[Automation] Extraire le tableau en PDF avec Python
Obtenir uniquement les éléments de sous-classe dans une liste
Rechercher récursivement le répertoire spécifié pour voir le fichier
Extraire le zip avec Python (prend en charge les noms de fichiers japonais)
Lancer un serveur HTTP dans le répertoire courant
Extrait uniquement complet du résultat de Trinity
Quoi! Le nom du fichier décompressé était SJIS! commander?
Dans bash, "supprimez le fichier s'il existe".
Comment lire des fichiers dans différents répertoires
Extrayez les informations de paroles dans le fichier MP3 / MP4 et enregistrez-les dans le fichier de paroles (* .lrc) pour Sony Walkman.
J'ai essayé d'extraire le texte du fichier image en utilisant Tesseract du moteur OCR
Je souhaite extraire uniquement les pods avec l'étiquette spécifiée à l'aide du sélecteur d'étiquettes dans Client-go
Je veux voir le nom de fichier de DataLoader
Téléchargez des fichiers tout en affichant la progression dans Python 3.x
Comment obtenir le nom de la variable lui-même en python
Extraire et lister les noms des personnes et des lieux dans le texte
Comment connaître le répertoire actuel en Python dans Blender
Lisez le fichier csv et affichez-le dans le navigateur
Incorporation dans datetime lorsque seule l'heure est connue
Chargez le module du même nom dans un autre emplacement
Programme Python qui recherche le même nom de fichier
[IBM Cloud] Placez le fichier ISO dans le stockage d'objets
Extraire l'élément en supprimant la balise contenue dans la chaîne de caractères
Extraire uniquement les éléments qui répondent à des conditions spécifiques en Python
Extraire chaque emplacement de Stargazers dans le référentiel Github
Python> bibliothèque> os> os.walk ()> Obtenir la structure du répertoire / l'implémentation pour obtenir chaque chemin de fichier dans le répertoire spécifié
Extraire uniquement le son d'un instrument spécifique du fichier MIDI et en faire un fichier séparé
Solution de contournement pour sys.argv non transmise lors de l'exécution d'un script Python avec uniquement le nom de fichier sur Python2.7 sous Windows