0
永続的なメモ(ディスクへのメモ)を行うデコレータを作成したいと思います。私はこのデコレータを多くの機能に使用したいので、これらの機能のメモ帳データを保存する場所を決めなければなりません。 、Pythonの永続メモの宛先
- は、これら2つのソリューションでは、
しかし関数名でデータを保存する場所を
このように、私の質問は、どのようにこのような衝突を避けることですか?
永続的なメモ(ディスクへのメモ)を行うデコレータを作成したいと思います。私はこのデコレータを多くの機能に使用したいので、これらの機能のメモ帳データを保存する場所を決めなければなりません。 、Pythonの永続メモの宛先
しかし関数名でデータを保存する場所を
このように、私の質問は、どのようにこのような衝突を避けることですか?
モジュールがロードされたファイルへのパスである__file__
の横または関連するファイルに保存します。私はそれが相対パスである場合があると信じているので、そのパスに直接メモを格納したり、絶対パスなどに変換することができます。
同様の問題を解決しなければならない[pickle module](https://docs.python.org/3/library/pickle.html)は、酸洗い機能に「完全修飾名」を使用しています。 –
興味深い質問ですが、答えがありません。私はしかし、いくつかのコメントがあります。 :) 1.あなたが飾る機能は、装飾されていることを知らないはずですので、メモの宛先に関するコードやデータは入れてはいけません。 OTOHでは、デコレータは '__file__'と関数の' .__ name__'に基づいてデフォルトのデスティネーションを選ぶことができますが、別のデスティネーションパスを選択する引数を受け入れるか、デフォルトのデスティネーションを変更することもできます。 2.あなたのプログラムが同時に複数回実行できるように注意してください。 –