You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
658 B

6 months ago
import inspect
import os
import sys
def stackclimber(height=0): # http://stackoverflow.com/a/900404/48251
"""
Obtain the name of the caller's module. Uses the inspect module to find
the caller's position in the module hierarchy. With the optional height
argument, finds the caller's caller, and so forth.
"""
caller = inspect.stack()[height+1]
scope = caller[0].f_globals
path = scope['__name__'].split('__main__')[0].strip('.')
if path == '':
if scope['__package__']:
path = scope['__package__']
else:
path = os.path.basename(sys.argv[0]).split('.')[0]
return path