Guest User

Untitled

a guest
Jul 17th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. from os import listdir,sep
  2. from os.path import isfile,isdir,split,join
  3.  
  4. class Traversal(object):
  5. def __init__(self,starting_node,dfs=True,bfs=False):
  6. '''
  7.  
  8. :param starting_node: give absolute path of the directory to be travesed
  9. :param dfs: set True for Debth first traversal ; default : True
  10. :param bfs: set true for breadth first traversal ; default : False
  11. '''
  12. self._base_dir = starting_node
  13. if dfs:
  14. self._dfs(starting_node)
  15. if bfs:
  16. self._bfs(starting_node)
  17.  
  18.  
  19. def _dfs(self,node):
  20. if isfile(node):
  21. level = node.replace(self._base_dir, '').count(sep)
  22. indent = ' ' * 4 * (level)
  23. print(indent,"- ->",node)
  24. else:
  25. level = node.replace(self._base_dir, '').count(sep)
  26. indent = ' ' * 4 * (level)
  27. print(indent,node)
  28. for inner_node in listdir(node):
  29. self._dfs(join(node,inner_node))
  30.  
  31. def _bfs(self,node):
  32. if isdir(node):
  33. level = node.replace(self._base_dir, '').count(sep)
  34. indent = ' ' * 4 * (level)
  35. print(indent, node)
  36. for inner_node in listdir(node):
  37. # self._bfs(join(node, inner_node))
  38. print(indent, "- ->", join(node, inner_node))
  39. for inner_node in listdir(node):
  40. self._bfs(join(node, inner_node))
  41.  
  42.  
  43.  
  44.  
  45.  
  46. Traversal("C:\\Users\mzm\Desktop\intern_test")
Add Comment
Please, Sign In to add comment