実現したいこと
件名の通りですが、pythonで特定のメソッドをリロードする方法が知りたいです。
発生している問題・分からないこと
モジュールをリロードする際は以下のようにimportlib関数を使用しますが、
import importlib
importlib.reload(モジュール名)
以下のようにモジュール内の特定のメソッドだけreloadしたい場合、どのような方法を取ればよいでしょうか?
from <module> import <method>
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
モジュールに関してはリロードする方法があることを知りました。
import importlib
importlib.reload(モジュール名)
補足
特になし
リロードという用語はモジュールに対して使われるもので、「メソッドをリロードする」という用法が存在しないので、質問者さんがなにをやろうとしているのか? は他人に伝わりません。
今、何に困っていて、どんなことを解決しようとているのか? を書く方がよいと思われます。
https://ja.meta.stackoverflow.com/questions/2701/#answer-2702
エスパーすると
mport importlib
importlib.reload(<module>)
from <module> import <method>
でいいのかなと思いましたが……?
"from <module> import <function>" の場合、以下の様になります。(結局、モジュール全体をリロードすることになりますけれども)
importlib.reload(<module>).<function>
"from <module> import <function> as <alias>" の場合は以下です。
<alias> = importlib.reload(<module>).<function>
TakaiY さんの回答を見て思いいたりましたが
from some_module import some_method
しかしてないと、モジュールを指すグローバル変数がなくて
importlib.reload(some_module)
ができなくて困ってたのですかね
直接見ているエラーは
NameError: name 'some_module' is not defined
だったのかな、と想像しました

回答1件
あなたの回答
tips
プレビュー