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