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é

Environnement d'exploitation


Xeon E5-2620 v4 (8 noyaux) x 2
32GB RAM
CentOS 6.8 (64bit)
openmpi-1.8.x86_64 et ses-devel
mpich.x86_64 3.1-5.el6 et ses-devel
gcc version 4.4.7 (Et gfortran)
NCAR Command Language Version 6.3.0
WRF v3.7.Utilisez 1.
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
Python 3.6.0 on virtualenv

https://docs.python.org/3/library/os.html La fonction ʻos.walk () `qui m'intéressait en la regardant.

os.walk(top, topdown=True, onerror=None, followlinks=False) Generate the file names in a directory tree by walking the tree either top-down or bottom-up.

Je l'ai essayé (sur Python 3.6.0).

Préparation

$ mkdir -p TOP/MIDDLE/BOTTOM
$ touch TOP/MIDDLE/mfile1.txt
$ touch TOP/MIDDLE/mfile2.txt
$ touch TOP/MIDDLE/BOTTOM/bfile1.txt
$ touch TOP/MIDDLE/BOTTOM/bfile2.txt
$ touch TOP/tfile1.txt

code> Afficher le résultat de os.walk ()

test_python_170327a.py


import os

res = os.walk(".")
for elem in res:
	print(elem)
	

résultat


$ python test_python_170327a.py 
('.', ['TOP'], ['test_python_170325b.py', 'test_python_170327a.py'])
('./TOP', ['MIDDLE'], ['tfile1.txt'])
('./TOP/MIDDLE', ['BOTTOM'], ['mfile2.txt', 'mfile1.txt'])
('./TOP/MIDDLE/BOTTOM', [], ['bfile2.txt', 'bfile1.txt'])

code> Obtenez le chemin de chaque fichier

https://docs.python.org/3/library/os.html Il a été implémenté comme suit en référence à l'exemple de code de.

test_python_170327b.py


import os

res = os.walk(".")
for elem in res:
	dirpath, dirnames, filenames = elem
	for afile in filenames:
		res = os.path.join(dirpath, afile)
		print(res)

résultat


$ python test_python_170327b.py 
./test_python_170327b.py
./test_python_170325b.py
./test_python_170327a.py
./TOP/tfile1.txt
./TOP/MIDDLE/mfile2.txt
./TOP/MIDDLE/mfile1.txt
./TOP/MIDDLE/BOTTOM/bfile2.txt
./TOP/MIDDLE/BOTTOM/bfile1.txt

après code> refactoring

(Ajout 2017/03/28)

test_python_170328a.py


import os

for dirpath, dirnames, filenames in os.walk("."):
    for afile in filenames:
        res = os.path.join(dirpath, afile)
        print(res)

Le traitement supplémentaire a été organisé et soigné.

Recommended Posts

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é
Sortie de la table spécifiée de la base de données Oracle en Python vers Excel pour chaque fichier
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Obtenez le chemin du bureau en Python
[Note du débutant] Comment spécifier le chemin de lecture de la bibliothèque en Python
Obtenez le chemin d'accès au fichier d'unité systemd
[Python] Lire la ligne spécifiée dans le fichier
[Python Kivy] Comment obtenir le chemin du fichier par glisser-déposer
Comment utiliser la bibliothèque C en Python
Comment obtenir les fichiers dans le dossier [Python]
Rechercher récursivement le répertoire spécifié pour voir le fichier
Je veux obtenir le chemin du répertoire où le fichier en cours d'exécution est stocké.
Comment lire toutes les classes contenues dans * .py dans le répertoire spécifié par Python
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment obtenir le nombre de chiffres en Python
[Python] Obtenez le chemin d'accès officiel du fichier de raccourci (.lnk)
Comment connaître le répertoire actuel en Python dans Blender
[Internal_math version (2)] Décodage de la bibliothèque AtCoder ~ Implémentation en Python ~
Essayez d'obtenir la liste des fonctions du paquet Python> os
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Comment déboguer une bibliothèque Python standard dans Visual Studio
Changer la destination de sortie standard en un fichier en Python
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Obtenez le type MIME en Python et déterminez le format de fichier
Développer une bibliothèque pour obtenir la liste des collections Kindle en Python
[Note] Importation de fichiers dans le répertoire parent en Python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
[Python] Récupère le répertoire d'exécution du script avec un chemin absolu
Python> __init __. Py> Requis pour gérer le répertoire spécifié en tant que package (un fichier vide est acceptable)
Obtenez l'index de chaque élément de la matrice de confusion en Python
Comment connaître la structure interne d'un objet en Python
Recherchez le nom du fichier, y compris le mot et l'extension spécifiés dans le répertoire
Accédez à l'API New Relic en Python pour obtenir l'état du serveur
Lisez le fichier en Python avec un chemin relatif depuis le programme
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Manipulation de chemin de fichier / dossier en Python
Enregistrez le fichier binaire en Python
Dans la commande python, python pointe vers python3.8
Comment obtenir la version Python
Obtenez le nom d'hôte en Python
Obtenez le chemin du fichier à l'aide de Pathlib
Comment obtenir la différence de date et d'heure en secondes avec Python
Exemple de code pour obtenir oauth_token et oauth_token_secret de l'API Twitter en Python 2.7
Afficher le chemin complet (chemin absolu) d'un fichier dans un répertoire sous Linux Bash
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Changer le module à charger pour chaque environnement d'exécution en Python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Épingler le répertoire actuel au répertoire de script en Python
Convertir un fichier psd en png en Python
Comment obtenir stacktrace en python
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
[Python] Récupère le code de caractère du fichier