PEP 302は、ユーザー コードがインポート プロセスにフックしてインポートをインターセプトする方法を定義します。
ただし、これは、インポート フックを登録するために何らかのコードが実行された後に発生するインポートに対してのみ機能します。
ほぼ定義上、__main__
最初に実行されるスクリプトであるモジュールの前にコードは実行されません。__main__
モジュール用にロードされているコードをインターセプトするために、インポートフック (いくつかの便利なことを行います) を取得しようとしてもうまくいきませんでした。
私が見逃している方法はありますか、それとも運が悪いだけですか? インポート フックがモジュールで変換を実行しないことを受け入れることはできますが、実行し__main__
た方がよいでしょう。