me he dado cuenta que estoy usando este patrón mucho:Obtener el __file__ de la función de un nivel hacia arriba en la pila
os.path.join(os.path.dirname(__file__), file_path)
así que he decidido poner en una función en un archivo que tiene muchas de esas pequeñas utilidades:
def filepath_in_cwd(file_path):
return os.path.join(os.path.dirname(__file__), file_path)
la cosa es, __file__
devuelve el archivo actual y por lo tanto la carpeta actual, y yo he perdido el punto. Yo podría hacer esto feo corte (o simplemente seguir escribiendo el patrón tal cual):
def filepath_in_cwd(py_file_name, file_path):
return os.path.join(os.path.dirname(py_file_name), file_path)
y luego la llamada a la que se verá así:
filepath_in_cwd(__file__, "my_file.txt")
pero yo preferiría que me tenía una forma de obtener el __file__
de la función que está un nivel arriba en la pila. ¿Hay alguna forma de hacer esto?
¡funciona! Gracias... – phistakis