[PYTHON] Rechercher récursivement le répertoire spécifié pour voir le fichier

Implémenté en utilisant ʻos.walk () `

import argparse
import os


def find_all_files(directory):
    for root, dirs, files in os.walk(directory):
        yield root
        for file in files:
            yield os.path.join(root, file)


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "directory", type=str, help="directory that you hope to look into."
    )
    parser.add_argument(
        "-e", "--extension", type=str, help="specify files with extension"
    )
    parser.add_argument("-c", "--cat", help="cat the file", action="store_true")
    parser.add_argument("-w", "--wc", help="wc the file", action="store_true")
    args = parser.parse_args()

    for file in find_all_files(args.directory):
        if args.extension:
            extension = file.split(".")[-1]
            if extension != args.extension:
                continue

        if args.wc:
            os.system("wc " + file)
        else:
            print(file)

        if args.cat:
            print("##### HEAD OF THE FILE #####\n\n")
            for line in open(file):
                print(line, end="")
            print("##### END OF THE FILE #####\n\n")


if __name__ == "__main__":
    main()

Comment utiliser

$ python find_all_files.py --help
usage: find_all_files.py [-h] [-e EXTENSION] [-c] [-w] directory

positional arguments:
  directory             directory that you hope to look into.

optional arguments:
  -h, --help            show this help message and exit
  -e EXTENSION, --extension EXTENSION
                        specify files with extension
  -c, --cat             cat the file
  -w, --wc              wc the file

Vous pouvez rechercher de manière récursive des fichiers .py dans le répertoire spécifié pour voir l'intégralité de leur contenu en procédant comme suit:

python find_all_files.py directory -e py -c

Site référencé

https://qiita.com/suin/items/cdef17e447ceeff6e79d

Recommended Posts

Rechercher récursivement le répertoire spécifié pour voir le fichier
Recherchez le nom du fichier, y compris le mot et l'extension spécifiés dans le répertoire
Je veux voir le nom de fichier de DataLoader
Accès aux fichiers sous le répertoire
Comment utiliser la commande grep pour rechercher de manière récursive des répertoires et des fichiers à une profondeur spécifiée
Comment lister les fichiers dans le répertoire spécifié (plusieurs conditions / recherche de sous-répertoire)
Comment voir le contenu du fichier ipynb du notebook Jupyter
Python> __init __. Py> Requis pour gérer le répertoire spécifié en tant que package (un fichier vide est acceptable)
Définit la date de la dernière modification du fichier enfant sur la date de modification du répertoire parent
Script pour générer un répertoire à partir d'un fichier json
Rechercher des fichiers avec l'extension spécifiée
Obtenez le chemin d'accès au fichier d'unité systemd
[Python] Lire la ligne spécifiée dans 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
Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire
Supprimer tous les fichiers pyc dans le répertoire spécifié
Rechercher récursivement tous les fichiers avec plusieurs extensions spécifiées
Enregistrer l'objet dans un fichier avec pickle
Comment lire des fichiers dans différents répertoires
Enregistrez les résultats de la recherche sur Twitter au format CSV.
Utilisez Pandas pour écrire uniquement les lignes spécifiées du bloc de données dans le fichier Excel
[Linux] Recherche de fichiers
Sortie de la table spécifiée de la base de données Oracle en Python vers Excel pour chaque fichier
Modèle de script python pour lire le contenu du fichier
Comment supprimer la chaîne de caractères spécifiée avec la commande sed! !! !!
Comment connaître le répertoire actuel en Python dans Blender
J'ai essayé de toucher un fichier CSV avec Python
Lisez le fichier xml en vous référant au didacticiel Python
Définissez la colonne spécifiée de QTableWidget sur ReadOnly StyledItemDelegate
Redimensionner l'image à la taille spécifiée et noircir les marges
Comment créer un nouveau fichier lorsque le fichier spécifié n'existe pas - Ecrire si le fichier existe