Получить __file__ функции на один уровень выше в стеке
Я обнаружил, что часто использую этот шаблон:
os.path.join(os.path.dirname(__file__), file_path)
поэтому я решил поместить функцию в файл, который имеет много таких маленьких утилит:
def filepath_in_cwd(file_path):
return os.path.join(os.path.dirname(__file__), file_path)
Дело в том,__file__
возвращаетcurrent файла и, следовательно, текущей папки, и я пропустил весь смысл. Я мог бы сделать этот уродливый хак (или просто продолжать писать шаблон как есть):
def filepath_in_cwd(py_file_name, file_path):
return os.path.join(os.path.dirname(py_file_name), file_path)
и тогда вызов к нему будет выглядеть так:
filepath_in_cwd(__file__, "my_file.txt")
но я бы предпочел, чтобы у меня был способ получить__file__
функции, которая находится на один уровень выше в стеке. Есть ли способ сделать это?