Advertisement
haiv

path2package.py

Jul 22nd, 2019
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. """
  3. Given a directory, find the name of the python package
  4. """
  5.  
  6. import pathlib
  7. import argparse
  8.  
  9.  
  10. marker = '__init__.py'
  11.  
  12.  
  13. def find_package(path_to_leaf):
  14.     path = pathlib.Path(path_to_leaf).resolve()
  15.     components = []
  16.  
  17.     while (path / marker).exists():
  18.         components.insert(0, path.name)
  19.         path = path.parent
  20.  
  21.     return '.'.join(components)
  22.  
  23.  
  24. if __name__ == '__main__':
  25.     parser = argparse.ArgumentParser()
  26.     parser.add_argument('paths', nargs='*', default=['.'])
  27.     options = parser.parse_args()
  28.     for path in options.paths:
  29.         package = find_package(path)
  30.         if package:
  31.             print(package)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement