Pobierz __file__ funkcji o jeden poziom wyżej na stosie
Odkryłem, że często używam tego wzoru:
os.path.join(os.path.dirname(__file__), file_path)
więc postanowiłem umieścić funkcję w pliku, który ma wiele takich małych narzędzi:
def filepath_in_cwd(file_path):
return os.path.join(os.path.dirname(__file__), file_path)
Rzecz w tym,__file__
zwracaobecny plik, a tym samym bieżący folder, a ja przegapiłem cały punkt. Mógłbym zrobić ten brzydki hack (lub po prostu pisać wzór jak jest):
def filepath_in_cwd(py_file_name, file_path):
return os.path.join(os.path.dirname(py_file_name), file_path)
a następnie wywołanie będzie wyglądało tak:
filepath_in_cwd(__file__, "my_file.txt")
ale wolałbym, gdybym miał sposób na zdobycie__file__
funkcji, która jest o jeden poziom wyżej na stosie. Czy jest jakiś sposób na to?