1. ホーム
  2. python

[解決済み] Pythonでディレクトリツリー構造をリストアップ?

2022-05-07 07:14:15

質問

を使うことができるのは知っています。 os.walk() を使用して、ディレクトリ内のすべてのサブディレクトリまたはすべてのファイルを一覧表示します。しかし、私はディレクトリツリーの内容を完全にリストアップしたいのです。

- Subdirectory 1:
   - file11
   - file12
   - Sub-sub-directory 11:
         - file111
         - file112
- Subdirectory 2:
    - file21
    - sub-sub-directory 21
    - sub-sub-directory 22    
        - sub-sub-sub-directory 221
            - file 2211

Pythonでこれを実現するにはどうしたらよいでしょうか?

どのように解決するのですか?

それをフォーマットで行う関数はこちらです。

import os

def list_files(startpath):
    for root, dirs, files in os.walk(startpath):
        level = root.replace(startpath, '').count(os.sep)
        indent = ' ' * 4 * (level)
        print('{}{}/'.format(indent, os.path.basename(root)))
        subindent = ' ' * 4 * (level + 1)
        for f in files:
            print('{}{}'.format(subindent, f))