[lang-ref] ( list_files_in_dir_recursive ) ( python )

def test_list_files_in_dir_recursive(pushd):
    # os.walk()

    os.makedirs('dir1/sub1/sub2', exist_ok=True)

    paths = [
        'dir1/file1.txt',
        'dir1/file2.txt',
        'dir1/file3.txt',
        'dir1/sub1/file101.txt',
        'dir1/sub1/file102.txt',
        'dir1/sub1/sub2/file121.txt',
        'dir1/sub1/sub2/file122.txt',
    ]
    for path in paths:
        Path(path).touch()

    results = []
    for root, dirs, files in os.walk('dir1'):
        for name in files:
            if name.endswith('.txt'):
                results.append((Path(root) / name).as_posix())

    assert sorted(results) == paths