Skip to content

Python Utility Package that displays out the Tree Structure of a Particular Directory.

License

Notifications You must be signed in to change notification settings

bmmcwhirt/Directory-Tree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Directory Tree Package

Setup Automated Test passing Python Version PyPI version Last Commit Open Source Love png2

About

Want to Display your Project/Current Working Directory as a Neat Tree? No Worries!

Directory Tree is a simple python utility package that displays out the Tree Structure of a User Defined Directory.

Currently Available for All Platforms.

Installation

Run the Following Command on your Terminal to Install directory_tree:

1 . Installing the Package using pip:

pip install directory_tree

OR

pip3 install directory_tree

2 . Cloning the Repository:

git clone https://github.com/rahulbordoloi/Directory-Tree/
cd Directory-Tree
pip install -e .

Usage

Function Signature

display_tree(dir_path: str = '', string_rep: bool=False, header: bool=False, max_depth: float=float("inf"), show_hidden: bool=False, ignore_list: list=None)

Arguments Description

Parameters Description
dir_path Root Path of Operation. By Default, Refers to the Current Working Directory.
string_rep Boolean Flag for Direct Console Output or a String Return of the Same. By Default, It Gives out Console Output.
header Boolean Flag for Displaying [OS & Directory Path] Info in the Console. Not Applicable if string_rep=True.
max_depth Max Depth of the Directory Tree. By Default, It goes upto the Deepest Directory/File.
show_hidden Boolean Flag for Returning/Displaying Hidden Files/Directories if Value Set to True.
ignore_list List of File and Directory Names or Patterns to Ignore.

Run this Script in Order to Print out the Tree Structure of a User-Defined Directory DirectoryPath!

# Importing Libraries
from directory_tree import display_tree

# Main Method
if __name__ == '__main__':
    display_tree(DirectoryPath)
  • Here by default, the DirectoryPath is the current working directory (CWD) unless specified by the user.

Output Examples

Sample Directory Tree -

SampleDirectoryTree.png

NOTE - Here, letseee.txt (File) and Directory 4/ (Directory) are HIDDEN in Nature.

  1. For Current Working Directory with Argument [Header Info = False]
from directory_tree import display_tree
display_tree(header=True)

CWDwithHeader.png

  1. For User Specified Directory with Arguments [String Representation = True, Show Hidden Entities = True]
from directory_tree import display_tree
customPath = 'D:\Work\Python Packages Maintainence\Directory-Tree\Test\Main Directory'
stringRepresentation = display_tree(customPath, string_rep=True, show_hidden=True)
print(stringRepresentation)

UserSpecifiedDirectoryStrRepShowHidden.png

  1. For Current Working Directory with Argument [Max Depth = 2]
from directory_tree import display_tree
display_tree(max_depth=2)

UserSpecifiedDirectoryMaxDep.png

Developing Directory Tree

To install directory_tree, along with the tools you need to develop and run tests, and execute the following in your virtualenv:

$ pip install -e .[dev]

Security & Probable Bugs

  • Directory Tree uses recursion. It will raise a RecursionError on really deep directory trees.
  • As the tree is lazily evaluated, it should behave well on really wide directory trees. Immediate children of a given directory are not lazily evaluated, though. It would be prompted to the last.
  • If you're a Windows user, it is always advised to use \\ instead of \ in the address as using \ might catchup escape sequences and corrupt the address string.

Contact Author

Name : Rahul Bordoloi
Website : https://rahulbordoloi.me
Email : [email protected]

Made with in Python!

About

Python Utility Package that displays out the Tree Structure of a Particular Directory.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.5%
  • C++ 21.5%