実現したいこと
テスト環境と本番環境など、実行状況に応じてファイルの保存先を変更したいと思っており(例えば、テスト環境とデフォルト環境で保存フォルダを変えたい)、classと継承を使って実装しようと思っています。
このとき、file_pathはsave_directoryに従属して決まるので、save_directoryが更新されたら自動的にfile_pathも更新したいと思っています。下の例で言えば、testconfig.file_pathが自動的にtest/result.txtになるようにしたいのですが、どのように実装したらいいでしょうか?
この方法に限らず、そもそもこういう方法を使った方がいい、というアドバイスでも助かります!
該当のソースコード
Python
1from dataclasses import dataclass 2 3@dataclass 4class BaseConfig(): 5 save_directory = 'default' 6 file_path = Path(save_directory, 'result.txt') 7 8class TestConfig(BaseConfig): 9 save_directory = 'test' 10 11 12testconfig = TestConfig() 13print(testconfig.save_directory) # 'test’であり想定通り 14print(testconfig.file_path) # default/result.txtとなるが、本当はtest/result.txtになってほしい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/15 00:52
2022/09/15 01:28 編集
2022/09/16 01:07