ho scoperto che sto usando questo schema molto:Prendi il __FILE__ della funzione di un livello alto nella pila
os.path.join(os.path.dirname(__file__), file_path)
così ho deciso di mettere in una funzione in un file che ha molte di queste piccole utilità:
def filepath_in_cwd(file_path):
return os.path.join(os.path.dirname(__file__), file_path)
il fatto è che, __file__
restituisce il file corrente e quindi la cartella corrente, e ho perso il punto. Ho potuto fare questo brutto hack (o semplicemente continuare a scrivere il modello così com'è):
def filepath_in_cwd(py_file_name, file_path):
return os.path.join(os.path.dirname(py_file_name), file_path)
e poi la chiamata ad essa sarà simile a questa:
filepath_in_cwd(__file__, "my_file.txt")
ma io preferirei che mi aveva un modo di ottenere il __file__
della funzione che è di un livello in cima allo stack. C'è un modo per farlo?
funziona! Grazie... – phistakis