U/System/List Folder Contents
The module lsr
returns a list, a DataFrame, or a string that describes the content of a given folder.
The returned formats are designed to either present the information or to be used in further processing.
To prepare an example for using mtbp3
:
import os
import shutil
import random
random_number = random.randint(1, 100)
testfolder_name = f"testfolder_{random_number}"
os.mkdir(testfolder_name)
os.mkdir(f"{testfolder_name}/subfolder2")
os.mkdir(f"{testfolder_name}/subfolder1")
with open(f"{testfolder_name}/subfolder2/testfile3", "w") as file:
pass
To use the LsrTree:
from mtbp3.util.lsr import LsrTree
To list files in a folder:
lsr = LsrTree(testfolder_name, outfmt="tree")
print(lsr.list_files())
testfolder_22/
├── subfolder1/
└── subfolder2/
└── testfile3
To list files in a folder with counts added after folder names:
lsr = LsrTree(testfolder_name, outfmt="tree", with_counts=True)
print(lsr.list_files())
testfolder_22/ <<<((( F=0; D=2 )))>>>
├── subfolder1/ <<<((( Empty Folder )))>>>
└── subfolder2/ <<<((( F=1; D=0 )))>>>
└── testfile3
To list files with file sizes and dates:
lsr = LsrTree(testfolder_name, outfmt="dataframe")
print(lsr.list_files())
path level type file size_in_bytes \
0 /subfolder1 1 folder <<<((( Empty Folder )))>>> None
1 /subfolder2 2 file testfile3 0
modified created file_type N_page \
0 None None None None
1 Wed Dec 18 13:40:38 2024 Wed Dec 18 13:40:38 2024 testfile3 None
N_column N_row
0 None None
1 None None
To remove the test folder:
shutil.rmtree(testfolder_name)
Other Options
Window:
tree /f > tree.txt
Linux/Mac OS:
tree