blob: 68fa4ede4be2fe2ee35bd8c0e70526e232070860 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import os
import sys
def caller_path(path, level=2):
if not os.path.isabs(path):
package_globals = sys._getframe(level).f_globals
package_name = package_globals['__name__']
package = sys.modules[package_name]
prefix = package_path(package)
path = os.path.join(prefix, path)
return path
return os.path.normpath(path)
def package_path(package):
return os.path.abspath(os.path.dirname(package.__file__))
|