LoginSignup
0
0

Pythonでディレクトリ・ツリーを表示してみました

Posted at

概要

ディレクトリの指定位置からのその配下のディレクトリ+ファイル構成を取得するプログラムです。

実行環境

macOS Ventura 13.0
python 3.8.12

実行プログラム

directory_tree.py
from pathlib import Path
import argparse
import time

DIR_PATH = './'


# ディレクトリツリーの表示
def print_directory_tree(dir):
    path = Path(dir)
    print(f'+ {path.absolute()}')
    for entry in path.iterdir():
        if entry.is_dir():
            print_directory_tree(entry)
        else:
            print(f'  - {entry.name}')


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='ディレクトリツリーの表示')
    parser.add_argument('-d', '--dir', type=str, default=DIR_PATH, help='ディレクトリツリーを取得したいルートディレクトリの定義')
    args = parser.parse_args()

    # 経過時間の計測開始
    start = time.time()
    print_directory_tree(args.dir)
    generate_time = time.time() - start

    print("\n処理時間:{0}".format(generate_time) + " [sec]\n")

プログラムの実行

## 為替レートの取得
$ python directory_tree.py                         
+ /Users/ituru/MyDevelops/ALog_ZiDOMA/HeaderEncryptionTest
  - directory_tree.py
  - sample01.txt
  - file_access.py
+ /Users/ituru/MyDevelops/ALog_ZiDOMA/HeaderEncryptionTest/wireshark
  - test100m_4096.pcapng
  - test1g_4096.pcapng
  - test100m_1024.pcapng
  - test1g_1024.pcapng

処理時間:0.0012269351959228516 [sec]

まとめ

サクッとディレクトリ情報を取得したいときに必要になるかも、、、、
また、このプログラムを使用してファイルサーバにアクセスしたときのイベントログの確認に利用できそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0