私はこのパターンをたくさん使用していることがわかりました:
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__
ファイル、したがって現在のフォルダを返すことであり、私は全体のポイントを逃しました。私はこの醜いハックを行うことができます(またはそのままパターンを書き続けることができます):
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__
しかし、スタックの1つ上のレベルの関数を取得する方法があれば、それをお勧めします。これを行う方法はありますか?