Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from os import listdir,sep
- from os.path import isfile,isdir,split,join
- class Traversal(object):
- def __init__(self,starting_node,dfs=True,bfs=False):
- '''
- :param starting_node: give absolute path of the directory to be travesed
- :param dfs: set True for Debth first traversal ; default : True
- :param bfs: set true for breadth first traversal ; default : False
- '''
- self._base_dir = starting_node
- if dfs:
- self._dfs(starting_node)
- if bfs:
- self._bfs(starting_node)
- def _dfs(self,node):
- if isfile(node):
- level = node.replace(self._base_dir, '').count(sep)
- indent = ' ' * 4 * (level)
- print(indent,"- ->",node)
- else:
- level = node.replace(self._base_dir, '').count(sep)
- indent = ' ' * 4 * (level)
- print(indent,node)
- for inner_node in listdir(node):
- self._dfs(join(node,inner_node))
- def _bfs(self,node):
- if isdir(node):
- level = node.replace(self._base_dir, '').count(sep)
- indent = ' ' * 4 * (level)
- print(indent, node)
- for inner_node in listdir(node):
- # self._bfs(join(node, inner_node))
- print(indent, "- ->", join(node, inner_node))
- for inner_node in listdir(node):
- self._bfs(join(node, inner_node))
- Traversal("C:\\Users\mzm\Desktop\intern_test")
Add Comment
Please, Sign In to add comment